Quando alguém seleciona uma placa no IDE do Arduino, uma definição de pré-processador é adicionada a um dos arquivos dos bastidores.
Depois de muita caça e boa sorte, descobri que o formato dessa definição é:
#define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME>
Alguns são fáceis de adivinhar ( ARDUINO_AVR_UNO
por exemplo), mas outros são menos. O Pro Micro tem '16' ou '8' anexado à definição, dependendo da velocidade. Não sei se a definição é diferente para 5V ou 3.3V. Não consegui adivinhar a definição para o Mega2560, mas não é nada óbvio.
Pergunta 1 : Existe uma lista das possíveis definições?
Pergunta 2 : Existe alguma distinção, no que diz respeito à participação da compilação e do pré-processador, entre o BoardX -5V e o BoardX -3.3V, e como essa distinção é definida?