RP2040ボードのArduinoでの判定方法

Raspberry Pi/電子工作
スポンサーリンク

こんにちは、あろっちです。

RP2040ボードの判定方法を調べてまとめてみました。

スポンサーリンク

アーキテクチャ

アーキテクチャ定義名
MbedARDUINO_ARCH_MBED
RP2040ARDUINO_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 PicoARDUINO_RASPBERRY_PI_PICO
Raspberry Pi Pico WARDUINO_RASPBERRY_PI_PICO_W
Adafruit Feather RP2040ARDUINO_ADAFRUIT_FEATHER_RP2040
Adafruit ItsyBitsy RP2040ARDUINO_ADAFRUIT_ITSYBITSY_RP2040
Adafruit QT Py RP2040ARDUINO_ADAFRUIT_QTPY_RP2040
Arduino Nano RP2040 ConnectARDUINO_NANO_RP2040_CONNECT
Cytron Maker Nano RP2040ARDUINO_CYTRON_MAKER_NANO_RP2040
Cytron Maker Pi RP2040ARDUINO_CYTRON_MAKER_PI_RP2040
SparkFun ProMicro RP2040ARDUINO_SPARKFUN_PROMICRO_RP2040
Seeed XIAO RP2040ARDUINO_SEEED_XIAO_RP2040 ※Ver.2.4.0以降
ARDUINO_SEEED_XAIO_RP2040 ※Ver.2.4.0より前
Waveshare RP2040-ZeroARDUINO_WAVESHARE_RP2040_ZERO
Waveshare RP2040-PlusARDUINO_WAVESHARE_RP2040_PLUS
Waveshare RP2040-OneARDUINO_WAVESHARE_RP2040_ONE
WIZnet W5100S-EVB-PicoARDUINO_WIZNET_5100S_EVB_PICO
WIZnet WizFi360-EVB-PicoARDUINO_WIZNET_WIZFI360_EVB_PICO
WIZnet W5500-EVB-PicoARDUINO_WIZNET_5500_EVB_PICO
Generic RP2040ARDUINO_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

関連記事

当ブログのマイコン記事です。ぜひご覧ください。

コメント

タイトルとURLをコピーしました