Hallo Gemeinde, Manchmal scheint das Hirn zu blockieren. Ich kriege es doch gerade nicht gebacken eine lauffähige Timer0 Overflow Routine zum laufen zu bringen: Service-Routine: ovf0: in status,SREG rcall keyin ldi temp,254 ;reload timer out TCNT0,temp out SREG,status reti Wird während der INIT-Phase aufgerufen: tcnt0init: ldi temp,254 out TCNT0,temp ldi temp,0x02 out TIMSK,temp sei ret Interrupt-Routine wird nicht angesprungen. Warum?
Du hast den Timer ja offenbar gar nicht gestartet, dazu mußt Du erst mal das TCCR0-Register entsprechend laden (Modus und Prescaler). Ich hab zwar grad nur das ATmega16-Datenblatt, aber ich vermute, das wird beim 161 ähnlich sein. MfG Olaf
Stack und Sprungtabelle sind OK. Der Rest läuft ja anstandslos. Das Datenblatt des ATMEGA161 ist etwas verwirrend und die m161def.inc hat Fehler in den Kommentaren. Aber der Tipp mit TCCR0 war OK. Danke!
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.