異なるArduinoボードでコンパイルできるスケッチを書きたいです。現在接続されているボードをPCに表示したい。
これは、ユーザーがUSBケーブルを介してPCをArduino / Teensyボードに接続し、そこでArduino / Teensyボードが私のスケッチを実行し、私のスケッチがどのボードが接続されているかをシリアルでPCに伝えることを意味します。PC上でこのデータを受信して表示するC#アプリケーションを実行します。
したがって、スケッチのコンパイル時に選択されたボードが必要です。
https://github.com/backupbrain/ArduinoBoardManagerでコードを見つけましたが、 正しい結果が得られません(いくつかのボードが欠落しているという事実は別として)。
ここにコードからの抜粋:
static const uint8_t BOARD_MICRO= 0x04;
....
#elif defined(__AVR_Atmega32U4__) // Yun 16Mhz, Micro, Leonardo, Esplora
static const uint8_t BOARD = 0x04;
static const uint8_t NUM_BITS = 8;
static const uint16_t CPU = __AVR_Atmega32U4__;
static const unsigned long SRAM_SIZE = 2500;
static const unsigned long EEPROM_SIZE = 1000;
static const unsigned long FLASH_SIZE = 32000;
#elif defined(.....
したがって、このコードは、Yun 16MHz、Micro、Leonardo y Esploraに対して同じ結果(BOARD = 0x04 = Micro)を返します。
Arduinoコンパイラのメニューでユーザーが選択した文字列をCコードに正確に取得する方法はありますか?