Gast
#4290174
Im Makefile steht diese Zeile: MCU_TARGET = attiny2313 Wie kann ich zur Übersetzungszeit den Wert von MCU_TARGET abfragen. Mit "#ifdef attiny2313" klappt es nicht.
|
Anzeige
|
Im Programm den Mikrocontrollertyp abfragen?
Gast
#4290174
Im Makefile steht diese Zeile: MCU_TARGET = attiny2313 Wie kann ich zur Übersetzungszeit den Wert von MCU_TARGET abfragen. Mit "#ifdef attiny2313" klappt es nicht.
Gast
#4290182
>Wie kann ich zur Übersetzungszeit den Wert von MCU_TARGET abfragen.
Schau in die avr/io.h
TinyAVR schrieb: > Im Makefile steht diese Zeile: > > MCU_TARGET = attiny2313 > > Wie kann ich zur Übersetzungszeit den Wert von MCU_TARGET abfragen. > > Mit "#ifdef attiny2313" klappt es nicht. Warum willst du den Wert denn abfragen? TinyAVR schrieb: > Im Makefile steht diese Zeile: > > MCU_TARGET = attiny2313 > > Wie kann ich zur Übersetzungszeit den Wert von MCU_TARGET abfragen. > > Mit "#ifdef attiny2313" klappt es nicht. Dann müsstest du auch MCU_TARGET abfragen... Aber wie Holger schrieb, kannst du das ganz gut in der io.h abschauen ( #ifdef _tiny3213_ oder so ähnlich). Gruß, Daniel TinyAVR schrieb: > Im Makefile steht diese Zeile: > MCU_TARGET = attiny2313 Diese Zeile steht da auch. Der wichtigere Fakt ist, daß der Wert der make-Variable MCU_TARGET an den Compiler mit der Compiler-Option -mmcu=... übergeben wird. > Wie kann ich zur Übersetzungszeit den Wert von MCU_TARGET abfragen. Direkt gar nicht. Aber der Wert wird an den avr-gcc übergeben, der daraus ein Präprozessor-Makro macht. Die offizielle Zuordnung von -mmcu=... Option und Makro kann man hier einsehen: http://www.nongnu.org/avr-libc/user-manual/using_tools.html Konkret findet man für -mmcu=attiny2313 das Präprozessor-Makro
und auf dieses Makro kann man dann im C-Code testen das hier klappt prima:
Gast
#4290860
Vielen Dank für Link & Informationen. Jetzt funktioniert es :) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|