Hi, es kommt kein Interrupt beim Simulator obwohl es im Datenblatt steht dass zu diesem Zeitpunkt einer auftreten müsste. Datenblatt ATmega8 Seite S.122 Timer/Counter Interrupt Flag Register TIFR Das ist meine Initalisierung des Timers ldi wr0, drehzahl ; drehzahl=0x80h out OCR2, wr0 ; IRQ bei k = 1/2 * fpwm ; Fclk -> DS S.119 T46, Phase Correctly PWM - ein DS. S.117 T42 ; OC0A pin 14 - HIGH = Match->Top->Match -DS. S118 T45 ldi wr0, 0x62 out TCCR2, wr0 ldi wr0, 1<<TOIE2 ;Interrupt Overflow Timer2 out TIMSK, wr0 Meine Frage dazu ist, wenn ich das in den Controller bringe ob der dann trotzdem darauf reagiert? Oder habe ich das im Datenblatt falsch verstanden? Oder hat der Simulator an dieser stelle noch einen Mangel? Vielen Dank daniel
HI, 'sei' ist eingeschaltet. Andere Interrupts funktionieren auch. Nur erfolgt kein Interrupt bei einem Richtungswechsel im PWM- Mode. Obwohl er im Datenblatt angegeben ist. Liegt das nun am Simulator oder habe ich das Datenblatt falsch verstanden. "TOV2 are set (one), the Timer/Counter2 Overflow interrupt is executed. In PWM mode, this bit is set when Timer/Counter2 changes counting direction at 0x00." Datenblatt S.122 /Bit 6 TOV2: Timer/Counter2 Overflow Flag Vielen Dank daniel
Der Simulator ist nicht so recht ausgereift, bei der TWI-Schnittstelle gibts ähnliche Probleme. Im Falle eines Falles das Interrupt-Bit von Hand setzen, dann sollte er wenigstens in die entsprechende ISR springen.
HI, danke. Ok, so weiss ich zumindest dass ich mit diesem IRQ programmieren kann. daniel
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.