TOPに戻る

Raspberry Pi Picoでプログラミング ⑦ 使用するピンと機能

 マイコンは、たくさんの機能や周辺モジュールを内蔵しているので、一つのピンに複数の機能を割り当てています。利用者が、自分でどの機能を使うかを最初に定義します。Arduinoでは、限定していますが、Picoはすごく柔軟性に富んでいます。

 例えば、PWMはほとんどのピンで出力できます。I2CバスとSPIバスは二組ずつ用意されていますが、利用できるピンは、複数あります。

 I2Cは、次のペアです。奇数がSCLで偶数ピンがSDAです。

[GP1,GP0]、[GP3,GP2]、 [GP5,GP4]、 [GP7,GP6]、 [GP9,GP8]、 [GP11,GP10]、 [GP13,GP12]、[GP15,GP14]、 [GP17,GP16]、 [GP19,GP18]、 [GP21,GP20]、 [GP27,GP26]

 SPIは、次の組み合わせです。実は、ほかにもあるのですが、ピンが飛び飛びなので、この組み合わせで使えるかが不明です。チップ・セレクト信号CSnはただのGPIOなので、余っているGPxのどこを使っても制御できます。

名称 GPx 物理ピン番号
SPI0 SCK GP2 4
SPI0 TX(MOSI) GP3 5
SPI0 RX(MISO) GP4 6
SPI0 CSn GP5 7
     
SPI1 SCK GP10 14
SPI1 TX(MOSI) GP11 15
SPI1 RX(MISO) GP12 16
SPI1 CSn GP13 17

次のピンを使って実験する

 この連載では、主に、次のピンを利用します。UART0(GP0、GP1)は標準入出力用で利用しています。

 ピンヘッダをはんだ付けしました。

連載 Raspberry Pi Picoでプログラミング

(1) ラズパイ4の準備(1) USBブートの設定

(2) ラズパイ4の準備(2) 標準入出力の用意

(3) ラズパイ4の準備(3) LチカとHello, world!の実行

(4) ラズパイ4の準備(4) リモート環境の設定

(5) プログラミングの環境整備とLチカ

(6) Hello, World!

(7) 使用するピンと機能

(8) クロックの値の表示

(9) i2cscanner

(10) i2c APIと気圧センサLPS25

(11) i2c 温度センサTMP117

(12) i2c 湿度センサAHT20

(13) spi APIとA-DコンバータMCP3008

(14) spi A-DコンバータMCP3208

(15) gpioファンクション