がじぇっとるねさすコミュニティの記事よりメモメモ。
要点
ヘッダのインクルード部分
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega32U4__) #if defined(ARDUINO) && ARDUINO >= 100 #include <Arduino.h> #else #include <WProgram.h> #endif #define _ARDUINO_AVR_ 1 #elif defined(__SAM3X8E__) #include <Arduino.h> #define _ARDUINO_DUE_ 1 #elif defined(__RX__) #include <rxduino.h> #define _GR_SAKURA_ 1 #elif defined(__RL78__) #include <RLduino78.h> #define _GR_KURUMI_ 1 #else #error unknown target. #endif
機種依存部分
#if _ARDUINO_AVR_ // Arduino 依存部分 〜 #endif #if _ARDUINO_DUE_ // Arduino DUE 依存部分 〜 #endif #if _GR_SAKURA_ // GR-SAKURA 依存部分 〜 #endif #if _GR_KURUMI_ // GR-KURUMI 依存部分 〜 #endif