Tutorial ISR - unterbrechbar.Fehler?

Gast #3262675
Lesenswert?

Hi im Tutorial is folgendes zu unterbrechbaren ISR tzu finden:

1
ISR (XXX) 
2
{
3
    // Implementiere die ISR ohne zunaechst weitere IRQs zuzulassen
4
 
5
    <<Deaktiviere die XXX-IRQ>>
6
 
7
    // Erlaube alle Interrupts (ausser XXX)
8
    sei();
9
 
10
    //... Code ...
11
 
12
    // IRQs global deaktivieren um die XXX-IRQ wieder gefahrlos 
13
    // aktivieren zu koennen
14
    cli();
15
 
16
    <<Aktiviere die XXX-IRQ>>
17
}

ist das nicht aber falsch  fehlt hinter dem

    <<Aktiviere die XXX-IRQ>>

nicht ein sei()??

weil ansonsten würde doch der interrupt einmalig ausgeführt werden und 
ansonsten nie wieder  (aufgrund des cli())

oder werden das Global Interrupt Enable Flag nach Ende der ISR wieder 
automatisch  gesetzt? was dem sei() Aufruf gleichkommt.

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