AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Mutex Bit

Description détaillée

Un mutex est un sémaphore binaire, les fonctions de ce module stocke sa sous forme d'un bit d'un dans une variable xMutex.
Cela permet de gérer 8 mutex dans un octet au lieu d'un seul mais cela alourdit une peu la taille du code source.

Graphe de collaboration de Mutex Bit:

Fonctions

void vMutexLockBit (xMutex *pxMutex, uint8_t ucMask)
 Attend jusqu'à ce qu'un ou plusieurs bits d'un mutex soit libres et les verrouillent (P) Plus de détails...
 
void vMutexUnlockBit (xMutex *pxMutex, uint8_t ucMask)
 
void vMutexUntilBitUnlocked (xMutex *pxMutex, uint8_t ucMask)
 Attend tant qu'un ou plusieurs bits d'un mutex sont verrouillés (P) Plus de détails...
 
bool xMutexBitLocked (xMutex *pxMutex, uint8_t ucMask)
 Teste si un ou plusieurs bits sont verrouillés. Plus de détails...
 
int8_t xMutexTryLockBit (xMutex *pxMutex, uint8_t ucMask)
 Variante non bloquante de vMutexLockBit() Plus de détails...
 

Documentation des fonctions

void vMutexLockBit ( xMutex pxMutex,
uint8_t  ucMask 
)

Attend jusqu'à ce qu'un ou plusieurs bits d'un mutex soit libres et les verrouillent (P)

Paramètres
pxMutexpointeur sur le mutex
ucMaskMasque du ou des bits concernés
void vMutexUnlockBit ( xMutex pxMutex,
uint8_t  ucMask 
)

Libère un ou plusieurs bits d'un mutex (V)

Paramètres
pxMutexpointeur sur le mutex
ucMaskMasque du ou des bits concernés
Exemples:
battery/demo_battery.c.
void vMutexUntilBitUnlocked ( xMutex pxMutex,
uint8_t  ucMask 
)

Attend tant qu'un ou plusieurs bits d'un mutex sont verrouillés (P)

Paramètres
pxMutexpointeur sur le mutex
ucMaskMasque du ou des bits concernés
bool xMutexBitLocked ( xMutex pxMutex,
uint8_t  ucMask 
)

Teste si un ou plusieurs bits sont verrouillés.

Paramètres
pxMutexpointeur sur le mutex à attendre
ucMaskMasque du ou des bits concernés
Renvoie
false si tous les bits sont libres, true sinon.
int8_t xMutexTryLockBit ( xMutex pxMutex,
uint8_t  ucMask 
)

Variante non bloquante de vMutexLockBit()

Paramètres
pxMutexpointeur sur le mutex à attendre
ucMaskMasque du ou des bits concernés
Renvoie
0 s'il a pu être verrouillé, différent de 0 si déjà verrouillé.
Exemples:
battery/demo_battery.c.