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.