Forum: Mikrocontroller und Digitale Elektronik AVR, Assembler: Interrupt-counter auf 0 setzen


von Tobl (Gast)


Lesenswert?

Hallo,
wenn während eines Interupts weitere auftreten, werden die ja erstmal 
gespeichert und nach Ablauf des Interrupts ausgeführt. Kann ich am Ende 
eines Interrupts alle/einzelne zwischenezeitlich aufgetretene Interrupts 
löschen, so dass diese nicht mehr ausgeführt werden? In welchem Register 
stehen die beim ATmega8?
Danke im voraus
Tobl

von Johannes M. (johnny-m)


Lesenswert?

Zu jedem Interrupt gehört ein Flag, und das kann man im Regelfall von 
Hand direkt löschen (es gibt ein paar Ausnahmen), meist, indem man eine 
1 hineinschreibt.

Näheres dazu steht im Datenblatt und im AVR-Tutorial.

Die Interrupts werden übrigens nicht "gezählt". Ein Flag kann nur einmal 
gesetzt werden. Wenn das Flag bereits gesetzt ist und der Interrupt 
erneut auftritt, ändert das nichts mehr.

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
Noch kein Account? Hier anmelden.