Hallo, kann mir einmal bitte jemand folgendes erklären: Ich habe ein ganz einfaches Blinken einer LED simuliert. (STK 600, Atmel2650, mit 16MHZ) #include<avr/io.h> //#ifndef F_CPU //#define F_CPU 1600000000UL //#endif #include<util/delay.h> int main(void){ DDRB = (1<<PB0); while(1){ PORTB^= (1<<PB0); _delay_ms(1); } return 0; } beim compilieren erhalte ich folgenden Hinweis: c:/winavr-20090313/lib/gcc/../../avr/include/util/delay.h:85:3: warning: #warning "F_CPU not defined for <util/delay.h>" in der delay.h habe ich aber die 16MHZeingetragen: #ifndef F_CPU /* prevent compiler error by supplying a default */ # warning "F_CPU not defined for <util/delay.h>" # define F_CPU 1000000UL # define F_CPU 16000000UL # define F_C #endif warum ist dies falsch, den wenn ich in dem c.file die Definition vornehme, wie oben (Auskommentiert) dann funktioniert es. Und warum erhalte ich beim compilieren zuerst den Wahrnhinweis und beim erneuten compilieren ohne das etwas geändert wurde gibt es keinen Wahrnhinweis mehr? Andreas
Andreas V. schrieb: > warum ist dies falsch Weil du als Endbenutzer in der <util/delay.h> nichts zu suchen oder zu verändern hast. (-> AVRlibc-Anleitung) > den wenn ich in dem c.file die Definition > vornehme, wie oben (Auskommentiert) dann funktioniert es. Dann ist es auch richtig. > Und warum erhalte ich beim compilieren zuerst den Wahrnhinweis und beim > erneuten compilieren ohne das etwas geändert wurde gibt es keinen > Wahrnhinweis mehr? Weil dein Build-System beim zweien Bauen feststellt, dass das Projekt (also deine Objekte) schon auf dem neuesten Stand sind und es nichts zu tun gibt. (-> Make-Anleitung) Das heißt im einfachsten Fall, dass der Übersetzer nur dann ausgeführt wird, wenn irgendeine Quelltextdatei neuer ist, als die Programmdatei (d.h., es wurde seit dem letzten Übersetzen irgendetwas verändert).
Vielen Dank für die schnelle und ausführliche Hilfe!!! Schönen Abend Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.