AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR

Description détaillée

Les timers sont des variables compteurs dont la valeur est décomptée par un service en mode noyau (afin de minimiser les retards) à chaque itération (tick) du noyau.
Le service gestionnaire est chargé, outre le décomptage, d'insérer et de retirer les timers de la file système.

Graphe de collaboration de Timer:

Structures de données

struct  xTimer
 Timer. Plus de détails...
 
struct  xTimerMessage
 Timer Message. Plus de détails...
 

Fonctions

xTimerpxAvrXCancelTimer (xTimer *pxTimer)
 Retire un timer de la file des timers. Plus de détails...
 
xMessagepxAvrXCancelTimerMessage (xTimerMessage *pxTimer, xMessageQueue *pxQueue)
 Retire un timer démarré avec vAvrXStartTimerMessage() de la file des timers. Plus de détails...
 
void vAvrXDelay (xTimer *pxTimer, uint16_t xTicksWait)
 Version bloquante de vAvrXStartTimer() Plus de détails...
 
void vAvrXStartTimer (xTimer *pxTimer, uint16_t xTicksWait)
 Ajoute un timer dans la file des timers et le démarre. Plus de détails...
 
void vAvrXStartTimerMessage (xTimerMessage *pxTimer, uint16_t xTicksWait, xMessageQueue *pxQueue)
 Ajoute un timer un timer qui envoie un message à son expiration dans la file des timers et le démarre. Plus de détails...
 
void vAvrXWaitTimer (xTimer *pxTimer)
 Attente de l'expiration d'un timer. Plus de détails...
 
xSem xAvrXTestTimer (xTimer *pxTimer)
 Teste l'état d'un timer. Plus de détails...
 

Définitions de type

typedef struct xTimer xTimer
 Timer. Plus de détails...
 
typedef struct xTimerMessage xTimerMessage
 Timer Message. Plus de détails...
 

Documentation des définitions de type

typedef struct xTimer xTimer

Timer.

Les timers sont des variables compteurs dont la valeur est décomptée par un service en mode noyau (afin de minimiser les retards) à chaque itération (tick) du noyau.
Le service gestionnaire est chargé, outre le décomptage, d'insérer et de retirer les timers de la file système.

typedef struct xTimerMessage xTimerMessage

Timer Message.

Une version spéciale de timer qui envoie des messages plutôt que de modifier un sémaphore.

Documentation des fonctions

xTimer* pxAvrXCancelTimer ( xTimer pxTimer)

Retire un timer de la file des timers.

Paramètres
pxTimerPointeur sur le timer
Renvoie
Pointeur sur le timer retiré ou 0 en cas d'erreur
xMessage* pxAvrXCancelTimerMessage ( xTimerMessage pxTimer,
xMessageQueue pxQueue 
)

Retire un timer démarré avec vAvrXStartTimerMessage() de la file des timers.

Paramètres
pxTimerPointeur sur le timer
pxQueuePointeur sur la file de message dans laquelle le message sera envoyé.
Renvoie
Le pointeur sur le timer retiré ou 0 en cas d'erreur.
void vAvrXDelay ( xTimer pxTimer,
uint16_t  xTicksWait 
)

Version bloquante de vAvrXStartTimer()

C'est une version bloquante de vAvrXStartTimer() qui prend les mêmes paramètres. Elle est implémentée par un appel à vAvrXStartTimer() suivi d'un appel à AvrXWaitTimer().

Paramètres
pxTimerPointeur sur le timer
xTicksWaitNombre de ticks. Il est possible d'utiliser xDelayMsToTicks() le nombre de ticks associé à une valeur en millisecondes.
Exemples:
avrx/message/demo_avrx_message.c, avrx/tutorial1/demo_avrx_tuto1.c, et avrx/tutorial2/demo_avrx_tuto2.c.
void vAvrXStartTimer ( xTimer pxTimer,
uint16_t  xTicksWait 
)

Ajoute un timer dans la file des timers et le démarre.

Cette fonction non-bloquante ajoute le timer dans la file des timers du système et le démarre pour un certain nombre de ticks.

Paramètres
pxTimerPointeur sur le timer
xTicksWaitNombre de ticks. Il est possible d'utiliser xDelayMsToTicks() le nombre de ticks associé à une valeur en millisecondes.
Exemples:
avrx/tutorial1/demo_avrx_tuto1.c.
void vAvrXStartTimerMessage ( xTimerMessage pxTimer,
uint16_t  xTicksWait,
xMessageQueue pxQueue 
)

Ajoute un timer un timer qui envoie un message à son expiration dans la file des timers et le démarre.

Cela peut être utile quand vous souhaitez envoyer un message au bout d'un certain temps.

Paramètres
pxTimerPointeur sur le timer
xTicksWaitNombre de ticks. Il est possible d'utiliser xDelayMsToTicks() le nombre de ticks associé à une valeur en millisecondes.
pxQueuePointeur sur la file de message dans laquelle le message sera envoyé.
void vAvrXWaitTimer ( xTimer pxTimer)

Attente de l'expiration d'un timer.

Fonction bloquante qui attend l'expiration d'un timer.

Paramètres
pxTimerPointeur sur le timer
Exemples:
avrx/tutorial1/demo_avrx_tuto1.c.
xSem xAvrXTestTimer ( xTimer pxTimer)

Teste l'état d'un timer.

Paramètres
pxTimerPointeur sur le timer
Renvoie
AVRX_WAIT, AVRX_PEND ou AVRX_DONE