Ce module regroupe les API permettant de permettre aux tâches de communiquer par l'intermédiaire de messages.
Message.
Une file de messages est en réalité une extension d'une file de sémaphores. Un message peut être utilisé pour gérer des exlusions mutuelles (le message est un témoin) ou pour passer des informations d'ordre général.
Cela peut être nécessaire à des tâches qui doivent bloquer en attente de plusieurs choses à la fois (timer, interruption, etc.).
File de messages.
Permet la communication par message entre tâches.
Renvoie le premier message d'une file.
- Paramètres
-
pxQueue | File des messages à utiliser |
- Renvoie
- Pointeur sur le message ou 0 si la file est vide
Attente de réception d'un message.
Version bloquante pxAvrXRecvMessage.
- Paramètres
-
pxQueue | File des messages à utiliser |
- Renvoie
- Pointeur sur le message reçu
- Exemples:
- avrx/message/demo_avrx_message.c.
void vAvrXAckMessage |
( |
xMessage * |
pxMessage | ) |
|
Envoie un message dans une file (Mode noyau)
Identique à vAvrXSendMessage() pour une utilisation en mode noyau.
- Paramètres
-
pxQueue | File des messages à utiliser |
pxMessage | Message |
- Avertissement
- Ne peut être appelée qu'à partir du mode noyau AvrX (par exemple l'intérieur d'un gestionnaire d'interruption).
Envoie un message dans une file.
- Note
- Fonction non bloquante
- Paramètres
-
pxQueue | File des messages à utiliser |
pxMessage | Message |
- Exemples:
- avrx/message/demo_avrx_message.c.
void vAvrXWaitMessageAck |
( |
xMessage * |
pxMessage | ) |
|
Teste si un accusé réception a été reçue.
Version non bloquante de vAvrXWaitMessageAck()
- Paramètres
-
- Renvoie
- AVRX_DONE si reçu, AVRX_PEND sinon