Raspberry Pi PIcoとPicoWのオンボードLEDの使い方(割り当てピン)が異なっていて少し戸惑いました。結論からいうとPicoは「25」。PicoWは「32」に割り当てられています。(ArduinoIDE、earlephilhower版ボード前提)
PicoとPicoWのピン配置図
PicoのデータシートとWのデータシートにあるピン配置図を比べてみます。
PicoのオンボードLED
オンボードLEDに「GP25」と記載があり、GP25ピンのHIGH/LOW切替でLEDの制御が可能。
WのオンボードLED
「WL_GPIO0」と記載があります。いまいちよくわかってませんがワイヤレスチップのGPIO0ピンに接続されているということでしょうか。
ピンアサイン(マクロ定義)の確認
ArduinoIDE、earlephilhower版ボードのピンアサインを確認してみます。
PicoとPicoWのピンアサイン
pins_arduino.h
の中身です。
//Pico LEDs
#define PIN_LED (25u)
//PicoW LEDs
#define PIN_LED (32u)
上がPico、下がPicoWです。Picoはピン配置図通り25で定義。PicoWは32?で定義されているようです。
たださらにマクロ定義で
#ifdef PIN_LED #define LED_BUILTIN PIN_LED #endif
とこのようにLED_BUILTIN
で定義されているので、マクロ使えばPico/PicoWは意識することなく利用可能になってます。
終わり
最初からLED_BUILTIN
で記述していればよかったのですが、直接「25」を記述してました。今回PicoWを使っていた時にPicoと割り当てが違うと思ってなくて、LEDが点かなくて何が原因かわからず解決に結構遠回りしました。デバック目的でLED利用していたのでまさかLEDの使い方そのものが間違ってるとは中々気が付かなかったです。マクロ使っていればこんなことにはならなかったんですけどね。
コメント