Übungen zu BST (SS 2015)
Watch Klassenreferenz
Interruptbehandlung für Timerinterrupts. Mehr ...
#include <watch.h>
Klassendiagramm für Watch:

Zusammengehörigkeiten von Watch:

Öffentliche Methoden | |
bool | windup (uint32_t us) |
Uhr "aufziehen". | |
bool | prologue () |
Enthält den Prolog der Unterbrechungsbehandlung. | |
void | epilogue () |
In dieser Methode wird der Threadwechsel ausgelöst. | |
uint32_t | interval () |
Gibt an, welches Unterbrechungsintervall eingestellt wurde. | |
void | activate () |
Diese Methode startet den Timer und muss pro CPU aufgerufen werden. | |
![]() | |
Gate () | |
Konstruktor. | |
virtual | ~Gate () |
Destruktor. | |
bool | set_queued () |
Setzt atomar ein Flag um zu markieren, dass sich das Objekt gerade in einer Epilog-Warteschlange befindet. | |
void | set_dequeued () |
Setzt das in set_queued() gesetzte Flag zurück. | |
![]() | |
Gate * | getnext () |
Gibt das nächste Element in der Liste zurück (read-only-Zugriff). |
Ausführliche Beschreibung
Interruptbehandlung für Timerinterrupts.
Die Klasse Watch sorgt für die Behandlung der Zeitgeberunterbrechungen, indem sie eine Zeitscheibe verwaltet und gegebenenfalls einen Threadwechsel auslöst.
Dokumentation der Elementfunktionen
uint32_t Watch::interval | ( | ) |
Gibt an, welches Unterbrechungsintervall eingestellt wurde.
- Rückgabe
- Eingestelltes Unterbrechungsintervall
|
virtual |
Enthält den Prolog der Unterbrechungsbehandlung.
- Rückgabe
- Gibt true zurück, falls ein Epilog notwendig ist, ansonsten false.
Implementiert Gate.
bool Watch::windup | ( | uint32_t | us | ) |
Uhr "aufziehen".
Das Watch Objekt muss sich bei der Plugbox anmelden und sich so initialisieren, dass beim Aufruf von Watch::activate() ca. alle us Mikrosekunden regelmäßig Unterbrechungen auslöst werden. Durch den Aufruf von Watch::interval() soll us wieder abfragbar sein.
- Parameter
-
us Gewünschtes Unterbrechungsintervall in Mikrosekunden.
- Rückgabe
- Gibt an ob das Interval eingestellt werden konnte.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
- device/watch.h
- device/watch.cc