Zitat Zitat von XRay117 Beitrag anzeigen
Allerdings weis ich nicht, warum und wann genau diese auftritt? Für mich ist das ganze irgendwie nicht klar. Vielleicht erbarmt sich von euch jemand und kann mir dabei weiterhelfen und mir den Funktionsaufbau genauer erklären.
Um den Nebel etwas zu lichten: Es gibt verschiedene Quellen für Interrupts. Eine dieser Quellen, die hier verwendete, ist eine Übereinstimmung der Output-Compare-Einheit von Timer 2. Aus der Konfiguration von Timer 2 (Vorteiler und Vergleichswert) ergibt sich das Zeitintervall zwischen zwei Übereinstimmungen, und mit der entsprechenden Frequenz wird dann die entsprechende ISR auch aufgerufen. Die ISR zählt die Variable, auf die die sleep-Schleife wartet, hoch. Damit kann sleep also erst beendet werden, wenn die ISR time Mal aufgerufen wurde.

mfG
Markus