Raspberry pi picoでの、ソフトウェアシリアル通信に関する質問です。 開発環境は、Arduino IDEです。 複数ポートでシリアル通信を行いたくて調べてみると、Raspberry pi picoでは、USB、UART0/1に加えて、8ポートまでのソフトウェアシリアル通信が可能であるとの事。 USBは、PCとの通信で使うので、合計10ポート使えるのだろうと思い確認をしています。 UARt0/1は普通に使えましたが、ソフトウェアシリアルは、4ポートまでうまく通信ができませんでした。ソフトの作り方が悪いのか、それともソフトウェアシリアル通信は8ポートまで使えるという情報が間違っているのか?知っている方教えてください。 下記の様なコードで確認しました。(別途Arduino unoと通信して受信確認) mySerial1~4は、正常に通信できることが確認できましたが、 mySerial5~8は、通信できないのです。 よろしくお願いいたします。 ---------- #include <SoftwareSerial.h> SoftwareSerial mySerial1(2,3); SoftwareSerial mySerial2(6,7); SoftwareSerial mySerial3(10,11); SoftwareSerial mySerial4(12,13); SoftwareSerial mySerial5(14,15); SoftwareSerial mySerial6(16,17); SoftwareSerial mySerial7(18,19); SoftwareSerial mySerial8(20,21); void setup() { Serial.begin(9600, SERIAL_8N1); Serial1.setTX(0); Serial1.setRX(1); Serial1.begin(9600, SERIAL_8N1); Serial2.setTX(4); Serial2.setRX(5); Serial2.begin(9600, SERIAL_8N1); mySerial1.begin(9600, SERIAL_8N1); mySerial2.begin(9600, SERIAL_8N1); mySerial3.begin(9600, SERIAL_8N1); mySerial4.begin(9600, SERIAL_8N1); mySerial5.begin(9600, SERIAL_8N1); mySerial6.begin(9600, SERIAL_8N1); mySerial7.begin(9600, SERIAL_8N1); mySerial8.begin(9600, SERIAL_8N1); } void loop() { Serial.println("Serial_Out"); Serial1.println("Serial_1_Out"); Serial2.println("Serial_2_Out"); mySerial1.println("mySerial1_Out"); mySerial2.println("mySerial2_Out"); mySerial3.println("mySerial3_Out"); mySerial4.println("mySerial4_Out"); mySerial5.println("mySerial5_Out"); mySerial6.println("mySerial6_Out"); mySerial7.println("mySerial7_Out"); mySerial8.println("mySerial8_Out"); delay(500); } }
プログラミング