Cuando uno selecciona una placa dentro de Arduino IDE, se agrega una definición de preprocesador a uno de los archivos detrás de escena.
Después de mucha caza y buena suerte, descubrí que el formato de esta definición es:
#define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME>
Algunos son fáciles de adivinar ( ARDUINO_AVR_UNO
por ejemplo), pero otros lo son menos. El Pro Micro tiene '16' u '8' anexados a la definición dependiendo de la velocidad. No sé si la definición es diferente para 5V o 3.3V. No he logrado adivinar la definición del Mega2560, pero no es nada obvio.
Pregunta 1 : ¿Existe una lista de las posibles definiciones?
Pregunta 2 : ¿Hay alguna distinción, en lo que respecta a la compilación y la participación del preprocesador, entre BoardX -5V y BoardX -3.3V, y cómo se define esta distinción?
fuente
Respuestas:
La lista de símbolos de tablero se puede generar mediante este comando de shell:
Los tableros están definidos por la propiedad "build.board" en el archivo boards.txt .
La receta de compilación utiliza esta propiedad junto con el prefijo ARDUINO_.
¡Salud!
fuente
Mikael tiene la respuesta correcta, pero hay varios archivos boards.txt dependiendo de las placas instaladas con el administrador de la placa, modificando el comando para:
y ejecutarlo desde el directorio base de Arduino recopila todo el conjunto.
fuente
El primer espacio en blanco es la plataforma . Esto es "AVR" para AVR, "SAM" para Arduinos basados en SAM, etc. Esto se deriva del directorio de la plataforma que contiene el núcleo.
El segundo espacio en blanco es el tablero . Esto proviene de la entrada en
boards.txt
el núcleo mismo, y es el identificador antes del primer período.No hay diferencia entre los procesos de compilación con respecto a los voltajes; se indica cualquier diferencia de velocidad
F_CPU
y no se debe verificar el tablero en sí.Por lo tanto, no hay una lista definitiva, ya que la lista tiene un tamaño arbitrario debido a su origen.
fuente
build.board
valor y Arduino IDE genera uno automáticamente.Agregando detalles a la respuesta de Bill agregando a Mikael:
Los paquetes que descarga a través de Board Manager residen (a partir de 1.8.9 y muchas revoluciones anteriores):
También puede ejecutar el script de una línea de Bill en su carpeta de instalación de Arduino, para obtener los paneles 'incorporados'.
fuente