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.
Interrupt bei Overflow und keine ISR dafür programmiert?
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
Ich bin so Blind!!!!! danke fuer die schnelle Hilfe
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.