Gast
#3586891
Ich kämüfe mich grade übel durch alle Timerfunktionen in meinem Tiny13A. Ich möchte alle 30 CPU-Zyklen einen Interruppt auslösen. Wie ich in anderen AVRs gesehen habe gibt es ein CTC-Flag, dass den Timer (TCNT0) bei Compare-Match mit dem Vergleichsregister (OCR0A) automatisch auf Null (oder was auch immer) setzen soll. Im Datenblatt des Tiny13A kann ich aber weder das zuständige Register noch das CTC-Flag (Clear-Timer-Compare) finden. Was bedeutet das? Das habe ich bisher eingegeben: ldi tmp, 1 << CS00 ; CS00 setzen: für Timerzähler kein Vorteiler out TCCR0B, tmp ldi tmp, 0x1D ; wenn timerzähler 30-1 erreich interruppt auslösen out OCR0A, tmp ldi tmp, 1 << OCIE0A ; OCIE0A: Interrupt bei Timer Vergleich 0A out TIMSK0, tmp ; ldi tmp, 1 << OCF0A ; Ist auf 1 wenn Compare-Match 0A zutrifft ; out TIFR0, tmp sei ; Interrupt erlauben