Hallo mein Problemm liegt daran, dass mit dem code kein interrupt durch overflow kommt. Ich verwende Timer1, mode 14, ich bekomme aber kein TOV1 flag, kein overflow. Was koennte hier falsch sein? .include "m8def.inc" .org 0x000 rjmp init .org OC1Aaddr ; Output Compare2 Interrupt Vector Address rjmp comparetimer .org OVF1addr ; Overflow2 Interrupt Vector Address rjmp timeroverflow ... ... init: ldi r16, (0<<WGM10)|(1<<WGM11) out TCCR1A, r16 ldi r16, (1<<WGM12)|(1<<WGM13)|(1<<CS10) out TCCR1B, r16 ldi r16, (1<<OCIE1A)|(1<<TOIE1) out TIMSK, r16 ldi r16,100 out ICR1L, r16 ldi r16,50 out OCR1AL, r16 sei ... ...
Vor der Freigabe der ISR solltest Du die Interruptflags löschen.: z.B.: ldi r16, (1<<OCF1A) | (1<<TOIE1) sts (TIFR+0x20),r16 Gruss Andi
Ich denke, dass du im Modus 14 keinen Overflow Interrupt bekommst. In diesem Modus fungiert das ICR1 Register als TOP Wert. Laut Doku zum ICF1 Interrupt Flag, wird in so einem Fall ein Input Capture Interrupt ausgelöst. Du könntest dich mal an diesen Interrupt hängen. Wenn deine Beobachtung auf Simulator-Läufen beruht, bedenke auch, dass der Simulator gerade in Bereich Timer/PWM so seine Fehler hat.
> Wenn deine Beobachtung auf Simulator-Läufen beruht, bedenke auch, dass > der Simulator gerade in Bereich Timer/PWM so seine Fehler hat. Das koennte mich beruhigen, in Deutschland habe ich das Programm geschrieben, es hat vollkommen funktioniert , PWM habe ich mit dem Osci beobachtet und mit dem Simulator hat es auch geklappt. Ich habe es aber vergessen auf stick zu kopieren , so musste ich in der Ukraine wieder das programm schreiben und nun hat mir meine Schwester funktionierendes Programm aus Deutschland per Mail geschikt und hier mit dem Simulator bekomme ich kein Interrupt, sind es moegliche Simulator Fehler???
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.