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文字入力されれば、その文字を送信します。
USBシリアル変換は、FT234を使い、USBに接続しました。接続回路図です。
ブレッドボードです。FT234のRX,TXはPicoの6番ピンGP4(TX),7番ピンGP5(RX)に接続します。FT234の電源は5V(VBUS)に接続します。
TeraTermは、下のように設定します。ポート番号は接続したパソコンに合わせます。
TeraTermの画面です。Picoから「UART test」を受信して表示し、パソコンのキーボードから送られた文字をそのまま送り返します。
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はブログ作成者のみに通知されます