Wenn man eine Karte in der Arduino IDE auswählt, wird einer der Dateien hinter den Kulissen eine Präprozessordefinition hinzugefügt.
Nach viel Jagd und etwas Glück stellte ich fest, dass das Format dieser Definition lautet:
#define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME>
Einige sind leicht zu erraten ( ARDUINO_AVR_UNO
zum Beispiel), andere weniger. Dem Pro Micro sind je nach Geschwindigkeit '16' oder '8' an die Definition angehängt. Ich weiß nicht, ob die Definition für 5V oder 3,3V unterschiedlich ist. Ich habe es nicht geschafft, die Definition für den Mega2560 zu erraten, aber es ist nichts Offensichtliches.
Frage 1 : Gibt es eine Liste der möglichen Definitionen?
Frage 2 : Gibt es einen Unterschied zwischen BoardX -5V und BoardX -3.3V in Bezug auf Kompilierung und Präprozessorbeteiligung, und wie ist dieser Unterschied definiert?
quelle
Antworten:
Die Liste der Platinensymbole kann mit diesem Shell-Befehl generiert werden:
Die Boards werden durch die Eigenschaft "build.board" in der Datei board.txt definiert .
Diese Eigenschaft wird vom Build- Rezept zusammen mit dem ARDUINO_-Präfix verwendet.
Prost!
quelle
Mikael hat die richtige Antwort, aber es gibt mehrere Boards.txt-Dateien, abhängig von den installierten Boards mit Board Manager. Ändern Sie den Befehl wie folgt:
Wenn Sie es von Ihrem Basis-Arduino-Verzeichnis aus ausführen, wird der gesamte Satz erfasst.
quelle
Das erste Leerzeichen ist die Plattform . Dies ist "AVR" für AVRs, "SAM" für SAM-basierte Arduinos usw. Dies wird aus dem Plattformverzeichnis abgeleitet, das den Kern enthält.
Das zweite Leerzeichen ist die Tafel . Dies kommt vom Eintrag im
boards.txt
Kern selbst und ist die Kennung vor der ersten Periode.Es gibt keinen Unterschied zwischen Kompilierungsprozessen in Bezug auf Spannungen; Geschwindigkeitsunterschiede sind angegeben
F_CPU
und die Platine selbst sollte nicht darauf überprüft werden.Es gibt also keine endgültige Liste, da die Liste aufgrund ihrer Quelle eine beliebige Größe hat.
quelle
build.board
Wert definiert und dieser automatisch von der Arduino IDE generiert wird.Hinzufügen von Details zu Bills Antwort und Hinzufügen zu Mikaels:
Die Pakete, die Sie über den Board Manager herunterladen, befinden sich in (ab 1.8.9 und vielen Umdrehungen zuvor):
Sie können auch Bills einzeiliges Skript in Ihrem Arduino-Installationsordner ausführen, um die integrierten Boards zu erhalten.
quelle