Excel365:ESP32-DEVKIT_SerialPins
jpg:http://shinshu-makers.net/shinshu_makers/wp-content/uploads/2021/07/ESP32-DEVkit_SeiralPinTable.jpg
M5シリーズだとWiFiのアンテナ能力低いためWiFiUDPの品質が悪いことが判りました、WiFiアンテナが大きくて外付けされているESp32DevKitCを使うことになりました。
RTK MovingBase用途で使うマイコンは、シリアルを2個高速(460800bps)で使います。
そこで、ESP32DevKitCがRTKで使えるか基礎実験を開始しました。
まずは、Serrial1とSerial2が使えるピン探しからです。
●ESP32のシリアル1もデフォルトでは使えない
シリアル1は、M5Stackと同様に、デフォルトに割り当てられていGPIOは、
GPIO09:U1RXD GPIO10:U1TXDですが、これはSPIとしてFLASHメモリに使われて固定です。
元々使えないGPIOとピンにSerial1を割り当てている点が不思議です、空いているGPIOとピンが
たくさんあるのだから、Serial1をそれらに割り当ててデフォルトにしておけば、それで
ユーザーの混乱を皆無にできるはずですが、シリアルを1個しか使わない用途をメインで考えて設計したのだと思います。
●ググってみるとたくさん記事あったのですが厳選した記事
参考にさせていただいた記事に感謝
テック系メモサイト様 ESP32-WROOM-32 UART1の正しい使い方
QIITA T-Yoshi様 Arduino-ESP32 Serial通信
ESP32のピンマップ仕様解説は、SwitchScienceさんが解説してます。
https://trac.switch-science.com/wiki/esp32_tips
●信州MAKERSで全ピン接続実験と表を作ってみました。
目的:汎用性のあるピン表を作って備忘録しておく
実験方法:2個のESP32に同じプログラムを書き込んで、RX-TX、TX-RXとクロス接続してキー入力文字で送信して、相手に受信されているか双方向で実験
使用ピン:使えないGPIOとデフォルトで使うGPIO以外のGPIO(12本)を表の上から順に2本ずつ接続実験を6回繰り返して、全GPIOが使えるかどうか確認した。
●結果:
Excel365:ESP32-DEVKIT_SerialPins
jpg:http://shinshu-makers.net/shinshu_makers/wp-content/uploads/2021/07/ESP32-DEVkit_SeiralPinTable.jpg
●表の解説
注1) プログラムがGPIO番号で統一されているのでGPIO番号メインで見ます、配線するときもESP32DevKitCのシルク印刷文字はGPIO番号が印刷されます。
①Serial1,2で使えるGPIO枠は水色です。これらは自由に組み合わせできます。 Serial1.begin(115200, SERIAL_8N1, RX_GPIONo, TX_GPIONo)
②黄色枠は、デフォルトでシリアルです。
Serial0=U0RXD=GPIO03,U0TXD=GPIO01 USBシリアルで使っています。
Serial2=U2RXD=GPIO16,U2TXD=GPIO17 Serail2.begin(115200)だけで使えます。
③肌色枠は、使えないGPIOです。指定すると暴走する場合があるので触れないほうがいいです。
④緑色枠は、SPIで使う4本です。標準的な使い方です。
⑤青色枠は、I2Cで使う2本です。標準的な使い方です。
●実験記録と使ったプログラム
2個のESP32DevkitCに同じ実験Noプログラムを書き込んでクロス接続します。
左はESP32 Node32S、右がESP32DevKitCです。
プログラムが同じでもボード名が違います。
実験1:
https://gist.github.com/dj1711572002/60f991fa62271c16fafc57428fad8368
実験2:
https://gist.github.com/dj1711572002/a4b43f4b214bf044c2c81480711a9597
実験3:
https://gist.github.com/dj1711572002/8b389a62c44b99196d512139ce384644
実験4:
https://gist.github.com/dj1711572002/69179b27a29953e632800af7e4fb5e36
実験5:
https://gist.github.com/dj1711572002/84b95a26baa89e755fb7bf344dd6d579
実験6:
https://gist.github.com/dj1711572002/1962b6b6ad7c142f4dfd31e6ed8cbac1