Guten Tag!
Ich hab bei einem Projekt mit einem Atiny 2313 folgendes Problem:
Das Programm sollte eine Zeit von (ca.) 6 Minuten runter zählen. Dafür wollte ich den Timer1 verwenden der bis 7812 zählen sollte und dann einen Interrupt auslösen soll um dann eine Sekunde abzuziehen.
Der Timer1 zählt auch wie geplant hoch, bei 7812 beginnt er von vorne und setzt das OCF1A Bit auf 1 aber dadruch wird kein Interrupt ausgelöst.
Der Timer wurde wie folgt konfiguriert:
Kann mir vielleicht jemand sagen was falsch gelaufen ist? Ich hab das Datenblatt jetzt x-mal durchgelesen und ich konnte aber keinen Fehler entdecken.Code:;Timer einstellen------------------------------- ;--Vergleichswert ldi tmp1, 0b00011110 out ocr1ah, tmp1 ldi tmp1, 0b10000100 out ocr1al, tmp1 ;--TCCR1a & TCCR1c werden nicht gebraucht clr tmp1 out tccr1a, tmp1 out tccr1c, tmp1 ;--CTC aktivieren und den Teiler auf 1024 stellen ldi tmp1, 0b00001101 out tccr1b, tmp1 ;--Timer1 Output Compare A Match interrupt enabled ldi tmp1, 0b01000000 out timsk, tmp1 ;Interrupt einschalten sei ;-----------------------------
Danke.
mfg
Stefan







Zitieren

Lesezeichen