こんにちは、あろっちです。
RP2040ボードの判定方法を調べてまとめてみました。
アーキテクチャ
アーキテクチャ | 定義名 |
---|---|
Mbed | ARDUINO_ARCH_MBED |
RP2040 | ARDUINO_ARCH_RP2040 |
アーキテクチャの判定
Arduino公式版
Arduino Mbed OS RP2040 Boards
#if defined(ARDUINO_ARCH_RP2040) && defined(ARDUINO_ARCH_MBED)
// Arduino Mbed OS RP2040 Boardsの場合
#endif
Raspberry Pi Pico/RP2040ボード(earlephilhower版)
#if defined(ARDUINO_ARCH_RP2040) && !defined(ARDUINO_ARCH_MBED)
// Raspberry Pi Pico/RP2040ボード(earlephilhower版)の場合
#endif
RP2040ボードではない場合
#ifndef ARDUINO_ARCH_RP2040
// RP2040ではない場合
#endif
ボード
Arduinoではboards.txtにボード定義があり、そこから定義名を取得できます。
今回主要なボードを抜粋し一覧にまとめまてみました。
ボード | 定義名 |
---|---|
Raspberry Pi Pico | ARDUINO_RASPBERRY_PI_PICO |
Raspberry Pi Pico W | ARDUINO_RASPBERRY_PI_PICO_W |
Adafruit Feather RP2040 | ARDUINO_ADAFRUIT_FEATHER_RP2040 |
Adafruit ItsyBitsy RP2040 | ARDUINO_ADAFRUIT_ITSYBITSY_RP2040 |
Adafruit QT Py RP2040 | ARDUINO_ADAFRUIT_QTPY_RP2040 |
Arduino Nano RP2040 Connect | ARDUINO_NANO_RP2040_CONNECT |
Cytron Maker Nano RP2040 | ARDUINO_CYTRON_MAKER_NANO_RP2040 |
Cytron Maker Pi RP2040 | ARDUINO_CYTRON_MAKER_PI_RP2040 |
SparkFun ProMicro RP2040 | ARDUINO_SPARKFUN_PROMICRO_RP2040 |
Seeed XIAO RP2040 | ARDUINO_SEEED_XIAO_RP2040 ※Ver.2.4.0以降 ARDUINO_SEEED_XAIO_RP2040 ※Ver.2.4.0より前 |
Waveshare RP2040-Zero | ARDUINO_WAVESHARE_RP2040_ZERO |
Waveshare RP2040-Plus | ARDUINO_WAVESHARE_RP2040_PLUS |
Waveshare RP2040-One | ARDUINO_WAVESHARE_RP2040_ONE |
WIZnet W5100S-EVB-Pico | ARDUINO_WIZNET_5100S_EVB_PICO |
WIZnet WizFi360-EVB-Pico | ARDUINO_WIZNET_WIZFI360_EVB_PICO |
WIZnet W5500-EVB-Pico | ARDUINO_WIZNET_5500_EVB_PICO |
Generic RP2040 | ARDUINO_GENERIC_RP2040 |
判定例
#ifdef ARDUINO_RASPBERRY_PI_PICO
// Raspberry Pi Picoの場合
#endif
#ifndef ARDUINO_RASPBERRY_PI_PICO
// Raspberry Pi Picoでない場合
#endif
// 複数の定義名を判定する場合(Seeed XIAO RP2040の例)
#if defined(ARDUINO_SEEED_XIAO_RP2040) || defined(ARDUINO_SEEED_XAIO_RP2040)
// Seeed XIAO RP2040の場合
#endif
関連記事
当ブログのマイコン記事です。ぜひご覧ください。
コメント