PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerfragen zu WinAVR - AVR Studio



BuckWheat
28.01.2010, 10:59
Hallo !

Ich fange gerade an mit WinAVR auf dem AVR-Studio zu programmieren.

Beim Benutzen der Definition "#define F_CPU 8000000" in meinem Programm hat mir der Compiler eine Warnung gegeben. Die Definition F_CPU wurde redefiniert.

Nach einem Blick ins Makefile habe ich gesehen, daß dort eine Definition DF_CPU aus den Projektdaten des AVR-Studios erzeugt und an den Compiler übergeben wird.

Hängen diese Definitionen zusammen DF_CPU=F_CPU ? Wenn ja, wo werden die Definitioen verarbeitet, in einem Headerfile oder im Compiler.

Vielen Dank für Antworten...

Buck

KingTobi
28.01.2010, 11:12
Verarbeitet wird im Headerfile garnichts.
Und DF_CPU und F_CPU sind natürlich nicht gleich.
Die Definition kann auch in irgendeiner "tiefer liegenden" Header definiert sein, hast ja nicht geschrieben um welche Header es geht.

Du kannst schreiben:


#ifndef F_CPU
#define F_CPU 8000000
#endif

Dann dürfte die Warnung weg sein.

Aber dann kannst es haben das F_CPU falsch definiert ist, also musst du es einach neu definieren.

Jaecko
28.01.2010, 11:20
DF_CPU ist die Option, die F_CPU definiert.
"Dxy = z" im Makefile ist das "Gleiche" wie im Quellcode ein "#define xy z".

BuckWheat
28.01.2010, 11:23
Danke für die schnellen Antworten..

@jaecko
so etwas habe ich mir schon gedacht, jetzt ist es "amtlich"

Thx

KingTobi
28.01.2010, 11:23
Ok, wieder was gelernt

oberallgeier
28.01.2010, 12:13
Hi BuckWheat,


... mit ... AVR-Studio ... programmieren ... Compiler ... Warnung ... Die Definition F_CPU wurde redefiniert ...Im AV RStudio gibts in der oberen Leiste einen Button mit einem Zahnrad und dem Quick-Info [Edit Current Configuration Options]. Wenn Du diesen Button nicht siehst, dann in der Statusleiste auf [Projekt] klicken. Es kommt in beiden Fällen dasselbe Fenster [x-dein-file Projekt Options]. Auf dieser ersten Seite gibts in der Mitte ein kleines Eingabefenster, links davon steht "Frequency:". Hier tippst Du die aktuelle Frequenz ein - UND LÖSCHT die Frequenz-#define in Deiner Quelle. Dieses Vorgehen ist eigentlich der Standard (*ggg* - zumindest bei mir).

Dieses ganze, mehrseitige Fenster ist sozusagen das GUI, das beim AV R-Studio den makefile ersetzt. SEHR praktisch !

BuckWheat
28.01.2010, 14:20
@oberallgeier
Jepp..so hab ich es jetzt eingestellt.

thx