TIMER0_OVF wird einfach nicht aufgerufen (Mega162, GCC)

Gast #1355100
Lesenswert?

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
Angehängte Dateien:
Gast #1355120
Lesenswert?

Ich glaubs ja nicht.

Ich werd definitiv in Zukunft die symb. Namen verwenden. Verringert die 
Wahrscheinlichkeit von Copy&Paste-Fehlern.

Bemerkenswert finde ich übrigens, dass du nur 7 Minuten nach Abschicken 
des Threads den Fehler gefunden hast. Ich hab alles gefühlte 100 mal 
überprüft.

Dank dir für dein Hilfe.
#1355211
Lesenswert?

Hallo,

ich glaube nicht, daß er die 7 Minuten dafür gebraucht hat, er hat 
vermutlich nur nicht früher Deine Frage gelesen.

Aber eine wichtige Erkenntnis hast Du ja schon gewonnen, mach das 
wirklich so.

Ich habe leider auch schon Stunden nach einem Fehler in einer fremden 
Software gesucht, weil etwas nicht ging.
Alles war sauber vereinbart, richtig von mir geändert.
Leider hatte der Programmier an einer einzigen Stelle im Programm nicht 
seine eigene Vereinbarung genutzt, sondern den Wert direkt 
geschrieben...

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren