ESP32は、シリアル通信ポートを3個持っています。UART0,UART1,UART2です。
各ポートのピン割り当ては、
--------------------------------------------------
UART0
RXD0 --- GPIO3
TXD0 --- GPIO1
--------------------------------------------------
UART1(デフォルトでは使用不可)
RXD1 --- GPIO9
TXD1 --- GPIO10
--------------------------------------------------
UART2
RXD2 --- GPIO16
TXD2 --- GPIO17
-------------------------------------------------
となっています。(UART1の使用法は、Qiitaのサイトをご覧ください。)
Arduino IDEは、シリアルモニタを持っていますので、まずそれからテストします。
シリアルモニタで使用されるポートは、UART0です。
次のようなスケッチで、エコーバックテストをしました。
シリアルモニタから送信した文字が表示されます。
通信速度を上げてテストをしてみると、500000bpsまで通信できました。
UART0のRXD0(GPIO3)をPicoScopeで見てみると(500000bpsの時)
という感じです。アイドリング時は、HIGHレベルで、スタートでLOWに下がります。
次に、UART2を使ってパソコンと通信してみます。
接続回路図です。GPIO16(U2RXD)とGPIO17(U2TXD)とUSBシリアル変換モジュールFT234を回路図のように接続します。
パソコン側の通信ソフトは、定番のTeraTermで通信速度は115200bpsとします。
ブレッドボードです。
スケッチです。UART2の時は、Serial2とします。
TeraTermの画面です。キーボードから入力した文字がESP32に送られて、同じ文字が送り返されます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます