Zur Erzeugung eines Sekundenimpulses verwende ich die Interruptroutine des Timer1. Grundsätzlich funktioniert der von mir erstellte Code problemlos. Nur aus noch nicht erklärten Umständen wird das Timercontrolregister von 56 auf 60 umgeschrieben. Ebenso das Timermaskregister von 5 auf 0 (Freigabe Int von T1 und T0). Somit wird natürlich auch kein Interrupt mehr ausgeführt. Das komische an dem Verhalten ist, dass dieses Problem in beliebigen Zeitabständen auftritt von einigen Minuten bis zu mehreren Stunden. Es kann auch nicht am Prozessor leigen, da ich das selbe Verhalten mit einen ATMEGA16 und AT90S8515 bereits gehabt habe. Hat von euch jemand bereits so ein Problem gehabt? Danke im Voraus Markus
<Zitat> wird das Timercontrolregister von 56 auf 60 umgeschrieben. Ebenso das Timermaskregister von 5 auf 0 </Zitat> was bedeutet das im konkreten Fall für deinen Controller, wenn das timercontrolregister von beagtem Wert 56 auf 60 springt? Binär heisst das ja erstmal,dass BIT2 gesetzt wird(4). Jetzt sieh Dir mal die Position des TCCR1A (oder B, haste nich gesagt, welches) im Register Summary an. Vielleicht passt zu einem binären Offset ein Register, welches Du tatsächlich verwendest? Oder TTCR0 wird verändert, und Du machst Dir Gedanken, obwohl Du Timer0.. <edit>ah verwendest Du auch, sonst wär ja im TIMSK kein"5"drinn</edit> Timer1 verwendest? Oder - noch besser - deine Spannungsversorgung ist nicht sauber. Hast Du's mal S(t)imuliert im AVR-S(t)udio? Habe Dir nicht wirklich helfen können, schade... Wollte trotzdem was schreiben ;-) Gruß Axel
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.