BASCOM program für verschiedene AVRs in einem Program?

Gast #5549428
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
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
Gast #5550012
Genau danach hab ich gesucht! Dankeschön!

avrhelp.mcselec.com war für mich gestern aus irgend 'nem Grund den 
ganzen Tag lang nicht erreichbar. Keine Ahnung wer da auf der Leitung 
stand.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.