Forum: Mikrocontroller und Digitale Elektronik Timer2 im Atmega 328P-PU erzeugt System-Reset beim ueberlauf Inerrupt


von Alexander B. (galaxg64)


Lesenswert?

Hallo allerseis,
Ich programmiere gerare einen Mega328, der Fernsteuersignale (PPM) 
mithilfe von Timer2 auslesen soll.
Da der Timer sowohl eine relativ hohe Aufloesung als auch eine grosse 
Zeit abdeken muss, habe ich ihn mithilfe des Overflow Interrupts durch 
Software auf 16 bit erweitert. Allerdings erzeugt der Timer2 beim 
ueberlaufen einen System Reset. Ich hab den selben Code auf Timer0 
laufen lassen, alles einwandfrei funktioniert, Ich brauche aber alle 
Timer also kann ich nicht einfach Timer 0 benutzen.

von Georg G. (df2au)


Lesenswert?

Interrupt bei Overflow und keine ISR dafür programmiert?

von Cyblord -. (cyblord)


Lesenswert?

Alexander Becker schrieb:
> Allerdings erzeugt der Timer2 beim
> ueberlaufen einen System Reset.

Ganz sicher nicht. Er wird in eine ISR springen wollen, die du aber 
nicht definiert hast. Der Vektor ist dabei oberhalb deines Programms, 
die Ausführung springt dahin, fällt durch bis zum Reset-Vektor und 
springt zu deinem Programmbeginn. Dabei fängt das Programm dann von 
vorne an zu laufen. Ein (System-)Reset ist das aber noch lange nicht. 
Nur ein Rückstellen des PCs auf den Programmanfang.

gruß cyblord

von Alexander B. (galaxg64)


Lesenswert?

Ich bin so Blind!!!!! danke fuer die schnelle Hilfe

von Alexander B. (galaxg64)


Lesenswert?

Ich hab die ISR falsch benannt naemlich: Timer1_OVF_vect
sollte heissen                         : Timer2_OVF_vect
Danke nochmal

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.