AVR IRQs

Gast #16519
Lesenswert?

Hallo!

Habe da mal ein paar allgemeine Fragen zu Interrupts:

1. Ist es richtig, daß während Interrupts disabled sind (in einem CLI - 
SEI Programmabschnitt), inzwischen aufgetretene Interrupts "gemerkt" 
werden und einen Taktzyklus später nach SEI ausgeführt werden?

2. Wenn dem so ist, ist es möglich abzufragen, ob ein Interrupt in jener 
"Warteschlange" steht?

3. Ist es möglich einen solchen in der Queue befindlichen 
Interrupt-Aufruf zu verhindern (so daß er also beim Setzen des I-Flags 
durch z.B. SEI nicht ausgeführt wird)?

tschüß Tom
Admin Persönliche Seite #16520
Lesenswert?

1. Ja, siehe Datenblatt:
   If one or more interrupt conditions occur when the
   Global Interrupt Enable bit is cleared
   (zero), the corresponding Interrupt Flag(s) will be
   set and remembered until the Global
   Interrupt Enable bit is set (one), and will be
   executed by order of priority.

2. Ja, indem man das entsprechende Flag ausliest.

3. Ja, indem man das entsprechende Flag löscht, genaueres steht im 
Datenblatt.

Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren