Gast
#1355100
Hallo Nach langem hin- und herprobieren weiss ich jetzt endgültig nicht mehr weiter. Zunächst aber zu den allg. Infos: ATmega162, 16Mhz AVR-GCC 4.2.2 AVR-LIBC 1.6.2 Zum Problem: In mein Programm wollte ich einen einfachen 1ms-Timer einfügen. Standardmäßig mit Timer0, dem 8 Bit Timer. Leider wird die Overflow-Interrupt-Routine nicht aufgerufen. Ich habe jetzt das Problem soweit eingegrenzt, dass das angehängte Programm entstand. Der Timer 0 wird initialisiert mit 1msec. Beim ersten Aufruf der ISR sollte die LED an PB0 eingeschaltet werden. Dies tut sie aber nicht!! Interessant wirds, wenn man sich den auskommentierten Teil in der Main-WhileLoop ansieht. Hier frage ich das TOV0-Bit im TIFR direkt ab. Wenn ich diesen Code statt der ISR nutze, funktioniert das Programm (LED wird eingeschaltet). Das bedeutet ja, dass der Timer grundsätzlich läuft. Leider habe ich z.Zt. keinen anderen Controller hier. Bin mir nämlich sicher, dass genau diese Einstellung mal bei mir beim Mega8 funktionierte. Ich hoffe mir kann jemand von euch helfen, meine ISR in Gang zu bringen. Vielen Dank an euch