Raspberry Pi Picoでプログラミング ② ラズパイ4の準備(2) 標準入出力の用意
●標準入出力
プログラムでprintfやscanfは標準入出力が使われます。ここでは、UART0ポートを通して利用します。
Pico UART0名称 | Pico 物理的ピン番号 | Pico GPIOピン番号 | ラズパイの物理ピン番号 |
---|---|---|---|
UART0_TX | 1 | GP0 | 10(Rx) |
UART0_RX | 2 | GP1 | 8(Tx) |
GND | 3 | GND | 6(GND) |
UART(Universal Asynchronous Receiver/Transmitter)は、もともとRS-232Cなどの非同期シリアル通信用コントロールICの呼び名でした。RS-232Cの通信規格は10mとかケーブルを延ばせ、±12Vぐらいが使われるので、マイコン・ボード・レベルだと利用するのが大変です。ロジック・レベルで、制御端子をすべて捨て去ったのがこのUART端子です。信号は3.3V-0Vレベル、Tx(送信)とRx(受信)の2本で通信します。
Txは通信相手のRxに、Rxは通信相手のTxにつなぎます。
ラズパイのGPIO側の配線
PicoはUARTは二つあります。上記のピンはUART0です。ケーブルを直接はんだ付けしました。
●ターミナルのシェル
ターミナル・ソフトminicomを、ラズパイにインストールします。
sudo apt install minicom
接続ポートを確認します。
ls /dev
/dev/serial0(UART0)もしくは/dev/serial1があると思います。
デスクトップで右クリックして新規ファイル(New File)でファイル名をterm.shにします。テキスト・エディタで、
#! /bin/bash
minicom -b 115200 -o -D /dev/serial0
の2行を記述して保存します。
term.shを右クリックし、一番下のPropertiesを選択します。
PermissionsのタブのExcute(実行権)を下記のように変更します。
起動するときは、アイコンをダブルクリックすると、小さなパネルが出るので、ターミナルで実行を選択すると、新しく起動したターミナルで通信ソフトminicomが動き出します。
●Picoの準備
C/C++でビルドしたファイルにxxx.uf2ができています(次回解説予定)。このファイルをデスクトップに表示されているRPI-RP2ドライブにドラッグすると、実行ファイルがコピーされ、Picoにリセットがかかってプログラムが動きます。
RPI-RP2ドライブをデスクトップに出すには、
- USBケーブルで、ラズパイとPicoをつなぐ
- ラズパイのデスクトップにPico(PRI-RP2)をマウントするために、BOOTSELボタンを押したままUSBケーブルをつなげる(抜き差し)
の操作をします。しかし、抜き差しは片手ではできず不便です。
●Resetスイッチを取り付ける
RUN端子とGND間にタクト・スイッチをはんだ付けします。Resetボタンと呼ばれるようです。はんだ付けした反対側は接着剤で浮かないように留めます。
Resetボタンを押したまま、BOOTSELボタンを押し、Resetボタンを離してから、BOOTSELボタンを離します。これでマウントができます。RPI-RP2というドライブ名です。
Resetボタンは、BOOTSELボタン側と同じ面にも取り付けれます。マイコンIC側の足は切り取っておきます。
Resetボタンに使われるタクト・スイッチは、短辺側がON/OFFされる接点です。長辺はそれぞれつながっています。