Lorsque l'on sélectionne une carte dans Arduino IDE, une définition de préprocesseur est ajoutée à l'un des fichiers en arrière-plan.
Après beaucoup de chasse et une bonne fortune, j'ai trouvé que le format de cette définition est:
#define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME>
Certains sont faciles à deviner ( ARDUINO_AVR_UNO
par exemple), mais d'autres le sont moins. Le Pro Micro a '16' ou '8' ajouté à la définition en fonction de la vitesse. Je ne sais pas si la définition est différente pour 5V ou 3,3V. Je n'ai pas réussi à deviner la définition du Mega2560, mais ce n'est pas évident.
Question 1 : Existe-t-il une liste des définitions possibles?
Question 2 : Existe-t-il une distinction, en ce qui concerne la compilation et l'implication du préprocesseur, entre BoardX -5V et BoardX -3.3V, et comment cette distinction est-elle définie?
la source
Réponses:
La liste des symboles de la carte peut être générée par cette commande shell:
Les cartes sont définies par la propriété "build.board" dans le fichier boards.txt .
Cette propriété est utilisée par la recette de génération avec le préfixe ARDUINO_.
À votre santé!
la source
Mikael a la bonne réponse, mais il existe plusieurs fichiers boards.txt selon les cartes installées avec board manager, modifiant la commande pour:
et l'exécuter à partir de votre répertoire Arduino de base recueille l'ensemble complet.
la source
Le premier blanc est la plate - forme . Il s'agit de "AVR" pour les AVR, "SAM" pour les Arduinos basés sur SAM, etc. Ceci est dérivé du répertoire de la plate-forme contenant le noyau.
Le deuxième blanc est le tableau . Cela vient de l'entrée dans
boards.txt
le noyau lui-même, et c'est l'identifiant avant la première période.Il n'y a pas de différence entre les processus de compilation en ce qui concerne les tensions; toute différence de vitesse est indiquée
F_CPU
et la planche elle-même ne doit pas être vérifiée pour cela.Il n'y a donc pas de liste définitive, car la liste est de taille arbitraire en raison de sa source.
la source
build.board
valeur et qu'une est automatiquement générée par l'IDE Arduino.Ajout de détails à la réponse de Bill ajoutant à Mikael:
Les packages que vous téléchargez via le Board Manager résident (à partir du 1.8.9 et de nombreuses versions précédentes):
Vous pouvez également exécuter le script d'une ligne de Bill dans votre dossier d'installation Arduino, pour obtenir les cartes `` intégrées ''.
la source