Hallo ihr Verschachtelten

Ich muss euch leider enttäuschen. Das es beim AVR keine Schachteln gibt, liegt nur daran, dass wir die Interrupt-Funktion immer mit:
- SIGNAL (Interrupt-Name)
bzw.:
- ISR (Interrupt-Name) in neueren Compilerversionen
angeben.

Es liegt genau an diesem Namen, bzw. bei ISR an der Parameterform, dass die Interrupts im AVR eben nicht geschachtelt werden.
Es gibt nämlich noch die Form:
- ISR(XXX_vect, ISR_NOBLOCK)
und auch eine Schreibweise beim alten Compilern. (Im Moment ist mir der Name abhanden gekommen, da ich da selber auch noch nichts mit gemacht habe.)

Hier wird erzwungen, dass Interrupts eben doch geschachtelt aufgerufen werden können. Natürlich unter Einhaltung der Interrupt-Prioritäten. Nur diese sind Hardwareabhängig.

Insofern ist also alle möglich!
- Schachteln vermeiden ist Default.
- Schachteln erzwingen ist Kunst.
- Schachteln per Bit-Fummelei ist Wissen.


Aber das ist es gar nicht was ich euch noch mitteilen möchte.

Ich möchte euch davon berichten, dass die Softwarestruktur sich um die Aufrufe zum Starten von Funktionen kümmert, so dass der Timer-Interrupt z.B. etwas macht, dass ein AD-Wandler angestoßen wird. Der Timer ist also schon lange fertig, aber die AD-Wandler-Hardware ackert und wird in Zukunft einen Interrupt auslösen. Und dass dann noch in Kombination mit einem Tasten-Interrupt.
Aber da muss ich erst noch die Zeit zu finden um euch mit weiterem Input zu 'beglücken'.

In diesem Sinne warten wir auf den nächsten Interrupt. Ich gehe jetzt erst einmal nach Hause. (schon wieder Arbeitszeit, pfui)
Gruß Sternthaler