Hallo, wenn ich einen Atmega16 verwende muss ich dann auch '#include <avr/io.h>', so wie bei jeden Atmega? Und wenn ja, woher weiß er dann, was man für einen µC verwendet?
@ 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
oder wie bei mir mit Makefile von WinAVR. ;) jetzt weiß ich wofür das gut ist.
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
Bitte melde dich an, um einen Beitrag zu schreiben.