Frage zu Prioritäten der Interupts

Gast #2720
Lesenswert?

Tach Thomas,

sowie ich weiss, sind die Prioritäten folgendermassen gesetzt:

1.  Reset Interrupt
2.  Int 0
3.  Int 1
4.  Timer 1 / Counter 1   Capture
5.     "                "           Compare A
6.     "                "                  "       B
7.     "                "            Überlauf
8.  Timer 0 / Counter 0   Überlauf
9.  SPI
10. UART RX
11. UART UDRE
12. UART TX
13. Analogkomparator

Das heisst, der Interrupt 13 wird eine UART Routine nicht während des 
Laufs unterbrechen, umgekehrt aber schon.
Interrupt 1 schafft alle........

Zum Gruße,
Günter
Gast #2721
Lesenswert?

Yo, genau. das gilt aber nur, wenn die interrupts GLEICHZEITIG ausgelöst 
werden...

wenn der avr in nen interrupt springt, schaltet er automatisch alle 
interrupts ab (löschen des I bits im SREG, equivalent mit der cli 
instruktion). d.h. wenn ein interrupt im interrupt eintritt, muss der 
erstmal warten bis

a) die interrupt routine mit reti beendet wird

oder

b) bis in der interrupt routine sei (set interrupt flag -> enable global 
interrupts) aufgerufen wird.

Jonas

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