こんにちは
やましょうです。
どうもXAIOの種類SAMD/RP2040/ESP32C3で挙動が違う。
D6/D7の挙動が違う。なんでだろう?
確認ファームはArudinoで以下のコードを確認してみた。
void setup() {
// declare the ledPin as an OUTPUT:
Serial.begin(9600);
Serial.print("ProgramStart!!");
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
}
void loop() {
// read the value from the sensor:
uint16_t Readdata;
Readdata = analogRead(A0);
Serial.print(" 0=");
Serial.print(Readdata);
Readdata = analogRead(A1);
Serial.print(" 1=");
Serial.print(Readdata);
Readdata = analogRead(A2);
Serial.print(" 2=");
Serial.print(Readdata);
Readdata = analogRead(A3);
Serial.print(" 3=");
Serial.println(Readdata);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(10,1);
delay(500);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(10,0);
delay(500);
}
この時にD6/D7/D8の挙動が異なる。
SAMD D6/D7汎用出力OK
RP2040 D6/D7/D8 だめ
ESP32C3 D6(UART TXだと思う) D7/UART RXになっている模様。
どうすれば汎用ポートにできるのかな?
これから対応を考えてみようと思う。
対応 ESP32の場合 7,8を20,21に変更すれば治る
RP2040の場合 ためしてないけど多分同様だと思う。