NiboRoboLib 3.6 - NIBObee Library
|
Zeitzählung. Die Zeit steht in Sekunden und Milisekunden seit dem Start zur Verfügung. Mehr ...
gehe zum Quellcode dieser Datei
Funktionen | |
void | clock_inc_irq (uint8_t ms, uint16_t us) |
void | clock_sleep (uint16_t ms) |
void | clock_sec_irq_hook () |
void | clock_hundredth_irq_hook () |
void | clock_set_timer (uint16_t ms) |
void | clock_wait_timer () |
uint16_t | clock_get_timer () |
uint32_t | clock_get_systime_ms () |
uint16_t | clock_elapsed_ms () |
Variablen | |
volatile uint16_t | clock_ms |
volatile uint32_t | clock_sec |
Zeitzählung. Die Zeit steht in Sekunden und Milisekunden seit dem Start zur Verfügung.
Die Funktion clock_inc_irq() muss regelmäßig von einem Timer Interrupt aufgerufen werden, bei Verwendung des PID Reglers (motpid.h) geschieht dies automatisch alle 1.022 ms!
uint16_t clock_elapsed_ms | ( | ) |
Liefert die Zeit in Millisekunden seit dem letzten Aufruf der Funktion zurück (maximal ca. 65 Sekunden!).
uint32_t clock_get_systime_ms | ( | ) |
Liefert die Zeit in Millisekunden seit dem Systemstart zurück. (32 Bit -> Überlauf erst nach 49 Tagen...)
uint16_t clock_get_timer | ( | ) |
Liefert die Zeit in Millisekunden zurück, die die Funktion clock_wait_timer() zu diesem Zeitpunkt warten würde.
void clock_hundredth_irq_hook | ( | ) |
Wird jede hunderstel Sekunde aufgerufen (Achtung: Funktion wird aus dem IRQ Kontext aufgerufen!). Als 'weak-linking' Funktion kann sie einfach durch eine eigene Funktion void clock_hundredth_irq_hook() {} ersetzt werden.
void clock_inc_irq | ( | uint8_t | ms, |
uint16_t | us | ||
) |
Funktion zum Aufruf durch den IRQ. Wird bei Verwendung des PID Reglers automatisch alle 1.022 ms aufgerufen. Falls der PID Regler nicht verwendet wird, muss die Funktion regelmäßig von einem eigenen Timer-Interrupt aus aufgerufen werden.
void clock_sec_irq_hook | ( | ) |
Wird jede Sekunde aufgerufen (Achtung: Funktion wird aus dem IRQ Kontext aufgerufen!) Als 'weak-linking' Funktion kann sie einfach durch eine eigene Funktion void clock_sec_irq_hook() {} ersetzt werden.
void clock_set_timer | ( | uint16_t | ms | ) |
Timer-Interval festlegen, auf den Ablauf des Timers kann man mit der Funktion clock_wait_timer() warten.
ms | Interval in Millisekunden |
void clock_sleep | ( | uint16_t | ms | ) |
Wartet die angegebene Zeit (maximal 65 Sekunden (65535 ms)), die Zeit wird auch bei Ausführung von Interrupt Funktionen eingehalten (anders als bei der delay() Funktionen)!
void clock_wait_timer | ( | ) |
Die Funktion wartet auf den nächsten Ablauf des Timer-Intervals, das durch den Aufruf der Funktion clock_set_timer() festgelegt wurde. Die CPU wird für die Wartezeit in den Stromspar-Modus geschickt...
volatile uint16_t clock_ms |
Zählt bis 1000 (1s) in 1ms Schritten
volatile uint32_t clock_sec |
Zählt die Sekunden seit dem Systemstart