BASCOM program für verschiedene AVRs in einem Program?

Gast #5549428
Lesenswert?

Huhu!

Angenommen, ich schreibe ein BASCOM-Programm, welches am Ende auf
verschiedenen AVR-Controllern laufen soll.

Am Anfang des Program's wird ja via $regfile der Controller
festgelegt, für den das Programm am Ende kompiliert werden soll.

Gibt es eine einfache Möglichkeit, ein Programm so zu schreiben,
dass -abhängig vom Inhalt von $regfile- Programmteile beim Kompilieren
ausgetauscht oder übersprungen werden?

Als Pseudocode stelle ich mir das in etwa so vor:

.
.
.
if $regfile = "atmega8.dat"
do
   Code spezifisch für ATMega8
else
   Code spezifisch für ATTiny85
endif
.
.
.

Dankeschön für eure Hilfe,
-AVRler
Persönliche Seite #5549717
Lesenswert?

Sieh Dir mal die Dokumentation von Bascom an. Da gibt es für die 
bedingte Compilierung die #if-Anweisung (mit Doppelkreuz), die 
Codeabschnitte nur bei Zutreffen von Bedingungen übersetzt.

https://avrhelp.mcselec.com/_if_else_endif.htm

Zwar kannst Du damit nicht auf den Namen des verwendeten "regfile" 
zugreifen, es gibt aber eine numerische Konstante, die die gleiche 
Funktion erfüllt:

> _CHIP is an integer that specifies the chip, in this case the 2313

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren