Когда выбирается плата в Arduino IDE, определение препроцессора добавляется в один из закулисных файлов.
После долгих поисков и удачи я обнаружил, что формат этого определения:
#define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME>
Некоторые из них легко угадать ( ARDUINO_AVR_UNO
например), но другие не так. Pro Micro имеет «16» или «8», добавленных к определению в зависимости от скорости. Я не знаю, если определение отличается для 5 В или 3,3 В. Мне не удалось угадать определение для Mega2560, но в этом нет ничего очевидного.
Вопрос 1 : существует ли список возможных определений?
Вопрос 2 : Есть ли какое-либо различие в отношении компиляции и участия препроцессора между BoardX -5V и BoardX -3.3V, и как определяется это различие?
ide
c-preprocessor
CharlieHanson
источник
источник
Ответы:
Список символов доски может быть сгенерирован этой командой оболочки:
Доски определяются свойством build.board в файлеboards.txt .
Это свойство используется рецептом сборки вместе с префиксом ARDUINO_.
Ура!
источник
У Микаэля правильный ответ, но в зависимости от установленных плат с менеджером досок существует несколько файлов Board.txt, которые изменяют команду на:
и запуск его из вашей базовой директории Arduino собирает весь набор.
источник
Первый бланк - это платформа . Это «AVR» для AVR, «SAM» для Arduinos на основе SAM и т. Д. Это происходит от каталога платформы, содержащей ядро.
Второй бланк - это доска . Это происходит от записи в
boards.txt
самом ядре и является идентификатором перед первым периодом.Нет различий между процессами компиляции в отношении напряжений; любая разница в скорости приведена,
F_CPU
и сама плата не должна быть проверена для этого.Таким образом, нет окончательного списка, так как список имеет произвольный размер из-за его источника.
источник
build.board
значение, и оно автоматически генерируется IDE Arduino.Добавление деталей к ответу Билла, добавление к ответу Микаэля:
Пакеты, которые вы загружаете через Board Board, находятся в (начиная с 1.8.9 и многих предыдущих версий):
Вы также можете запустить однострочный скрипт Билла в папке установки Arduino, чтобы получить «встроенные» платы.
источник