Damit delay.h funktioniert mußt Du die Optimierung einstellen, -Os.
Mach das mal.
Damit delay.h funktioniert mußt Du die Optimierung einstellen, -Os.
Mach das mal.
Schau mal unter Fehler oder so ähnlich ob da warnungen sind, die werden nicht automatisch angezeigt.
Hi,
ich habe mal nachgeschaut. Externes Makefile ist abgeschaltet.
Aber wie vorhergesagt gibt es beim Copilieren eine Warnung:
Witzig ist nur, dass ich in einem anderen PRogramm den gleich Kram bei nem Programm mit nem Xmega stehen habe, alsoWarnung 1 #warning "F_CPU not defined for <util/delay.h>" c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 89 3 Blinker
und da gehts super. Noch irgend jemand ein Tip wieso ich diese Warnung bekomme?#include <avr/io.h>
#include <util/delay.h>
// Define default CPU frequency (2 MHz), if this is not already defined.
#ifndef F_CPU
#define F_CPU 32000000UL
#endif
thx Filzlaus
Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
Sir Isaac Newton
Hallo sternst,
das wars. Ich danke dir. Ich dachte immer das man erstmal alle Header reinwirft und dann den Rest macht. Also wieder was gelernt
Erst CPU definieren und dann das delay.h reinwerfen.
Edit:
Aber echt seltsam ist, dass ich das jetzt auch bei dem Programm vom Xmega so eingestellt habe:
Da bekomme ich die Warnung hier:#include <avr/io.h>
#ifndef F_CPU
#define F_CPU 32000000UL
#endif
#include <util/delay.h>
also funktioniert es hier genau andersrumWarnung 1 #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 94 3 1_4_2 UART mit Funktionen_SelbstKann mir das jemand erklären wie das zustande kommt?
thx Filzlaus
Geändert von Olle_Filzlaus (18.01.2012 um 18:44 Uhr)
Unser Wissen ist ein Tropfen, unser Unwissen ist wie ein Ozean.
Sir Isaac Newton
schon mal nach gemessen ob beim xmega die zeiten EXACT stimmen, auf die ms ?
könnte nähmlich sein das es nur nicht auffällt dass der Fehler durch die abgeschaltete Optimierung das ausgleicht was du mit dem falsch definierten F_CPU verursachst.
Nicht sehr warscheinlich und warscheinlich auch falsch aber ne besser erklärung fällt mir grad nicht ein.
könnte auch sein das bei den Xmega includes der F_CPU von haus aus schon höher definiert ist.
Die gezeigte Warnung hat rein gar nichts mit F_CPU zu tun, oder damit, ob es vor oder nach dem Inkludieren von delay.h definiert wird.
Und wenn die falsche Reihenfolge ein richtiges Blinken ergibt, und die richtige Reihenfolge ein falsches, dann würde ich mich fragen, ob der XMega überhaupt mit dem gedachten Takt läuft.
MfG
Stefan
Unter umständen ist noch der interne resonator anstatt dem quarz aktiviert ?
Lesezeichen