Collaboration diagram for Timer Management:
The timer management provides functions to start and stop asynchronous timers, determine the CPU speed and let a thread give up the CPU for a specified time period.
Functions | |
void | NutTimerInit (void) |
Initialize system timer. | |
void | NutTimerInsert (NUTTIMERINFO *tn) |
Insert a new timer in the global timer list. | |
void | NutTimerProcessElapsed (void) |
Process elapsed timers. | |
NUTTIMERINFO * | NutTimerCreate (u_long ticks, void(*callback)(HANDLE, void *), void *arg, u_char flags) |
Create a new system timer. | |
HANDLE | NutTimerStartTicks (u_long ticks, void(*callback)(HANDLE, void *), void *arg, u_char flags) |
Start a system timer. | |
HANDLE | NutTimerStart (u_long ms, void(*callback)(HANDLE, void *), void *arg, u_char flags) |
Start a system timer. | |
void | NutSleep (u_long ms) |
Temporarily suspends the current thread. | |
void | NutTimerStop (HANDLE handle) |
Stop a specified timer. | |
u_long | NutGetTickCount (void) |
Return the number of system timer ticks. | |
u_long | NutGetSeconds (void) |
Return the seconds counter value. | |
u_long | NutGetMillis (void) |
Return the milliseconds counter value. | |
Variables | |
NUTTIMERINFO * | nutTimerList |
Double linked list of all system timers. | |
volatile u_long | nut_ticks |
System tick counter. |
|
Initialize system timer. This function is automatically called by Nut/OS during system initialization. It calls the hardware dependent layer to initialze the timer hardware and register a timer interrupt handler. |
|
Insert a new timer in the global timer list. Applications should not call this function.
|
|
Process elapsed timers. This routine is called during context switch processing. Applications should not use this function. |
|
Create a new system timer. Applications should not call this function.
|
|
Start a system timer. The function returns immediately, while the timer runs asynchronously in the background. The timer counts for a specified number of ticks, then calls the callback routine with a given argument. Even after the timer elapsed, the callback function is not executed before the currently running thread is ready to give up the CPU. Thus, system timers may not fulfill the required accuracy. For precise or high resolution timing, native timer interrupt routines are a better choice.
|
|
Start a system timer. The function returns immediately, while the timer runs asynchronously in the background. The timer counts for a specified number of milliseconds, then calls the callback routine with a given argument. Even after the timer elapsed, the callback function is not executed before the currently running thread is ready to give up the CPU. Thus, system timers may not fulfill the required accuracy. For precise or high resolution timing, native timer interrupt routines are a better choice.
|
|
Temporarily suspends the current thread. Causes the current thread to wait for a specified interval or, if the specified interval is zero, to give up the CPU for another thread with higher or same priority. This function may switch to another application thread, that got the same or a higher priority and is ready to run.
|
|
Stop a specified timer. Only periodic timers need to be stopped. One-shot timers are automatically stopped by the timer management after ther first timer interval. Anyway, long running one-shot timers may be stopped to release the occupied memory.
|
|
Return the number of system timer ticks. This function returns the number of system ticks since the system was started.
|
|
Return the seconds counter value. This function returns the value of a counter, which is incremented every second. During system start, the counter is cleared to zero.
|
|
Return the milliseconds counter value. This function returns the value of a counter, which is incremented every system timer tick. During system start, the counter is cleared to zero and will overflow with the 64 bit tick counter (4294967296). With the default 1024 ticks/s this will happen after 7.9 years. The resolution is also given by the system ticks.
|