PIOで利⽤するGPIOのFunctionをPIOモー
ドにする
• PIOのPINSはGPIO0~31の⼊出⼒制
御可能
• 実際に⼊出⼒されるのはGPIOペリフェ
ラルでFunctionをPIOにしたものだけ
• Rustの型推論で特定GPIOの
FunctionをPIOにできる
• rp2040_hal::gpio::Pinのinto_function
関数を使う(右図下参照)
32
https://github.com/rp-rs/rp-hal/blob/main/rp2040-
hal/examples/pio_blink.rs
より引⽤
0 1 0 1 ... 0 1 0 1
PINS
X X X 1 ... 0 X 0 1
31 32 31 30 ... 3 2 1 0
X X X PIO ... PIO
X PIO PIO
GPIO
Function
GPIO
出⼒
FunctionをPIOにしたGPIOのみPINSの値が出⼒される図
⼊出⼒を設計する
• PIOの気持ちになって、動き
やすいフォーマットを考える
• コードを書きながら適宜修正
• PIOに送信するもの
• 送受信データのビット数
• TMSの値
• 送信データ
• PIOから受け取るもの
• 受信データ
41
bit count TMS
31bit 1bit
send data
32 * X bit
PIO
received data
32 * X bit