我想写一个可以在不同的Arduino板上编译的草图。我想在PC上显示当前连接的板。
这意味着用户通过USB电缆将PC连接到Arduino / Teensy板,在其中运行我的草图,而我的草图通过Serial告诉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)。
有什么办法可以让我的C代码准确地获得用户在Arduino编译器菜单中选择的字符串?