Frage zu <avr/io.h>

@ Mathias Obetzhauser (Firma Phoenix Contact) (m-obi)

>wenn ich einen Atmega16 verwende muss ich dann auch '#include
><avr/io.h>', so wie bei jeden Atmega?

Ja.

> Und wenn ja, woher weiß er dann, was man für einen µC verwendet?

Das wird ihm über das makefile mitgeteilt, das macht AVR-Studio 
automatisch.

MFg
Falk
Moderator Persönliche Seite
Genauer gesagt: die -mmcu-Option veranlasst den Compiler, einen
Makro für deinen Prozessor zu definieren im C-Präprozessor.  Wenn
du also -mmcu=atmega16 angibst, dann taucht da (unter anderem) ein
_AVR__ATMEGA16_  mit auf.  An Hand dieser Makros wiederum wird
in allerlei Header-Dateien (so auch in <avr/io.h>) entschieden, was
konkret zu tun ist.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.