Raspberry Pi Picoのシリアル通信のテストをします。
Picoは、UART0とUART1の2つのUARTコントローラを持っています。
UART(id) id=0 or 1 だけ指定した時のデフォルトは、次のとおりです。
id TX RX baudrate parity stopbit
0 GPIO0 GPIO1 115200 なし 1
1 GPIO4 GPIO5 115200 なし 1
UART(1)だけを指定した時のUARTテスト用のスクリプトです。送受信は定番の通信ソフトTeraTermを使います。
5行目 Picoからパソコン(TeraTerm)に「UART test」を送信します。
8行目 any()は、読み込めるバイト数を返します。
9行目 read(1)は、1文字読み込みです。このスクリプトは1文字入力されれば、その文字を送信します。
![](https://blogimg.goo.ne.jp/user_image/3f/8c/45e56dce38e3888d847bb149405318c8.png)
USBシリアル変換は、FT234を使い、USBに接続しました。接続回路図です。
![](https://blogimg.goo.ne.jp/user_image/2c/fc/07191f8d29cccad5d394f0cc427bc6ad.png)
ブレッドボードです。FT234のRX,TXはPicoの6番ピンGP4(TX),7番ピンGP5(RX)に接続します。FT234の電源は5V(VBUS)に接続します。
![](https://blogimg.goo.ne.jp/user_image/55/78/36194a521edb49e41264ca132535305e.jpg)
TeraTermは、下のように設定します。ポート番号は接続したパソコンに合わせます。
![](https://blogimg.goo.ne.jp/user_image/3e/d2/849e42e0b02ec6551e6bb8762143bc8d.png)
TeraTermの画面です。Picoから「UART test」を受信して表示し、パソコンのキーボードから送られた文字をそのまま送り返します。
![](https://blogimg.goo.ne.jp/user_image/64/ce/50ae0847a6e290edefa51b0e5cfe2621.png)
UART(0)とUART(1)では、次のGPIOの組を使用することができます。
UART(0) UART(1)
TX RX TX RX
GPIO0 GPIO1 GPIO4 GPIO5
GPIO12 GPIO13 GPIO8 GPIO9
GPIO16 GPIO17
UART(1)でbaudrate, 9600bps ,TX GPIO8 ,RX GPIO9を使う場合は
UART(1,baudrate=9600,tx=Pin(8),rx=Pin(9))とします。
この場合、スクリプトの1行目にimport UART,Pin として、Pinをimportしておきます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます