Hi,
in der delay.h wird überprüft, ob F_CPU bereits definiert wurde. Falls nicht, wird das Makro mit einem Standartwert (1MHz) vorbelegt. Die spätere Definition von Dir hat dann keine Auswirkungen mehr auf die delay-Funktion.
Du musst also F_CPU definieren, bevor Du die delay.h. einbindest.
Übrigens liegt die delay.h nicht mehr im Pfd avr, sondern im Pfad util.
Richtig wäre also:
PS: Du solltest die warnings, die der Compiler ausspuckt, beachten.Code:#define F_CPU 16000000 #include <avr/io.h> #include <util/delay.h>
Da hätte nämlich folgendes gestanden:
Gruß,Code:C:/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>." In file included from C:/WinAVR/avr/include/avr/delay.h:37, from ../main.c:3: C:/WinAVR/avr/include/util/delay.h:136:3: warning: #warning "F_CPU not defined for <util/delay.h>" ../main.c:5:1: warning: "F_CPU" redefined C:/WinAVR/avr/include/util/delay.h:137:1: warning: this is the location of the previous definition
askazo






Zitieren
Lesezeichen