2022年10月31日月曜日

Seeed Xaio SAMDとRP2040とESPC32でD6/D7の挙動が違う問題。

こんにちは


やましょうです。

どうも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の場合 ためしてないけど多分同様だと思う。

 

0 件のコメント:

コメントを投稿