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?
ide
c-preprocessor
CharlieHanson
fonte
fonte
Respostas:
A lista de símbolos da placa pode ser gerada por este comando do shell:
As placas são definidas pela propriedade "build.board" no arquivo boards.txt .
Essa propriedade é usada pela receita de construção junto com o prefixo ARDUINO_.
Felicidades!
fonte
Mikael tem a resposta certa, mas existem vários arquivos boards.txt dependendo das placas instaladas com o gerenciador de placas, modificando o comando para:
e executá-lo no diretório base do Arduino coleta todo o conjunto.
fonte
O primeiro espaço em branco é a plataforma . Isso é "AVR" para AVRs, "SAM" para Arduinos baseados em SAM, etc. Isso é derivado do diretório da plataforma que contém o núcleo.
O segundo espaço em branco é o quadro . Isso vem da entrada no
boards.txt
próprio núcleo e é o identificador antes do primeiro período.Não há diferença entre os processos de compilação com relação às tensões; qualquer diferença de velocidade é fornecida
F_CPU
e a placa em si não deve ser verificada.Portanto, não há lista definitiva, pois a lista é de tamanho arbitrário devido à sua origem.
fonte
build.board
valor e um é gerado automaticamente pelo IDE do Arduino.Adicionando detalhes à resposta de Bill e acrescentando à de Mikael:
Os pacotes dos quais você faz o download através do Board Manager residem (a partir de 1.8.9 e muitas revs anteriores):
Você também pode executar o script de uma linha de Bill na pasta de instalação do Arduino, para obter as placas 'embutidas'.
fonte