PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : anstehenden Interrupt löschen



askazo
13.09.2007, 14:01
Hi,

ich schreibe gerade an einem Programm für den Mega8, bei dem eine Interruptroutine per externem Interrupt ausgelöst wird. In der ISR wird der Interrupt dann deaktiviert, da er nur genau einmal ausgelöst werden soll, egal was das Signal am Eingang macht - bis zum betätigen eines Tasters, der dann den Interrupt wieder freigibt.

Das Problem ist, dass trotz Deaktivierung des Interrupts und löschen des GIFR-Registers vor der Reaktivierung des Interrupts ebendieser direkt nach der Reaktivierung ausgelöst wird. Der AVR merkt sich also einen Interrupt, der während der Deaktivierungsphase aufgetreten ist.

Wie kann ich diesen Interrupt löschen?

askazo

askazo
13.09.2007, 14:20
Ich Trottel.... ](*,)
Wer lesen kann, ist klar im Vorteil:
Ich muss eine "1" in GIFR reinschreiben, um das Flag zu löschen....

Hat sich damit erledigt, trotzdem danke fürs lesen.

Gruß,
askazo