Was geschieht, wenn mehrere Interrupt-Ereignisse gleichzeitig auftreten? Wird nur eine Interruptroutine aufgerufen? Oder werden vielleicht alle ausgelöst, wobei man sich dann noch fragen könnte: in welcher Reihenfolge?
Mancher wird vielleicht sagen: Der Fall, dass zwei oder mehrere Interrupt-Ereignisse gleichzeitig auftreten, ist so unwahrscheinlich, dass er praktisch nicht vorkommt, und deswegen nur von theoretischem Interesse ist. Aber das stimmt nicht. Schon wenn zwei Interruptereignisse während einer Interrupt-Sperrphase (z. B. bei der Bearbeitung einer Interruptserviceroutine) auftreten, gelten sie für den Mikrocontroller als gleichzeitig.
Der Attiny kann sich in gewissem Umfang Interrupt-Ereignisse merken. Diese werden dann in der Reihenfolge der Interruptvektortabelle abgearbeitet. Treten während einer Interrupt-Sperrung allerdings mehrere Interrupt-Ereignisse des gleichen Typs auf, wird die zugehörige Routine nur ein einziges Mal ausgeführt.
Warum das so ist, das können Sie in dem Beitrag aus dem Anhang nachlesen. Viel Spaß dabei!
.
Reihenfolge bei der Interruptbehandlung
Reihenfolge bei der Interruptbehandlung
- Dateianhänge
-
- Bemerkungen_zur_Reihenfolge_bei_der_Interruptbehandlung.zip
- Genauere Informationen zur Interrupt-Reihenfolge
- (28.06 KiB) 2703-mal heruntergeladen