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