AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce module regroupe les API permettant de permettre aux tâches de communiquer par l'intermédiaire de messages.
Structures de données | |
struct | xMessage |
Message. Plus de détails... | |
struct | xMessageQueue |
File de messages. Plus de détails... | |
Fonctions | |
xMessage * | pxAvrXRecvMessage (xMessageQueue *pxQueue) |
Renvoie le premier message d'une file. Plus de détails... | |
xMessage * | pxAvrXWaitMessage (xMessageQueue *pxQueue) |
Attente de réception d'un message. Plus de détails... | |
void | vAvrXAckMessage (xMessage *pxMessage) |
Envoie un accusé réception à travers une file de message. Plus de détails... | |
void | vAvrXIntSendMessage (xMessageQueue *pxQueue, xMessage *pxMessage) |
Envoie un message dans une file (Mode noyau) Plus de détails... | |
void | vAvrXSendMessage (xMessageQueue *pxQueue, xMessage *pxMessage) |
Envoie un message dans une file. Plus de détails... | |
void | vAvrXWaitMessageAck (xMessage *pxMessage) |
Attente d'un accusé réception d'une file de message. Plus de détails... | |
xSem | xAvrXTestMessageAck (xMessage *pxMessage) |
Teste si un accusé réception a été reçue. Plus de détails... | |
Définitions de type | |
typedef struct xMessage | xMessage |
Message. Plus de détails... | |
typedef struct xMessageQueue | xMessageQueue |
File de messages. Plus de détails... | |
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.).
typedef struct xMessageQueue xMessageQueue |
File de messages.
Permet la communication par message entre tâches.
xMessage* pxAvrXRecvMessage | ( | xMessageQueue * | pxQueue | ) |
Renvoie le premier message d'une file.
pxQueue | File des messages à utiliser |
xMessage* pxAvrXWaitMessage | ( | xMessageQueue * | pxQueue | ) |
Attente de réception d'un message.
Version bloquante pxAvrXRecvMessage.
pxQueue | File des messages à utiliser |
void vAvrXAckMessage | ( | xMessage * | pxMessage | ) |
Envoie un accusé réception à travers une file de message.
La séquence s'enchaîne de la façon suivante : vAvrXSendMessage() -> pxAvrXWaitMessage() -> vAvrXAckMessage() -> vAvrXWaitMessageAck().
pxMessage | Message |
void vAvrXIntSendMessage | ( | xMessageQueue * | pxQueue, |
xMessage * | pxMessage | ||
) |
Envoie un message dans une file (Mode noyau)
Identique à vAvrXSendMessage() pour une utilisation en mode noyau.
pxQueue | File des messages à utiliser |
pxMessage | Message |
void vAvrXSendMessage | ( | xMessageQueue * | pxQueue, |
xMessage * | pxMessage | ||
) |
Envoie un message dans une file.
pxQueue | File des messages à utiliser |
pxMessage | Message |
void vAvrXWaitMessageAck | ( | xMessage * | pxMessage | ) |
Attente d'un accusé réception d'une file de message.
pxMessage | Message |
Teste si un accusé réception a été reçue.
Version non bloquante de vAvrXWaitMessageAck()
pxMessage | Message |