AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR

Description détaillée

Un mutex est un sémaphore binaire permettant de gérer l'accès à une ressource unique.
Par convention un mutex verrouillé vaut 0, et un mutex libre vaut une valeur différente de 0.

Graphe de collaboration de Mutex:

Modules

 Mutex Bit
 

Fonctions

void vMutexLock (xMutex *pxMutex)
 Attend jusqu'à ce que le mutex soit libre et le verrouille (P) Plus de détails...
 
void vMutexUnlock (xMutex *pxMutex)
 
int8_t xMutexTryLock (xMutex *pxMutex)
 Variante non bloquante de vMutexLock. Plus de détails...
 

Macros

#define MUTEX_INITIALIZER   MUTEX_UNLOCK
 Valeur d'initialisation d'un mutex non verrouillé (libre) Plus de détails...
 
#define MUTEX_LOCK   (0)
 Valeur d'un mutex verrouillé
 
#define MUTEX_UNLOCK   (-1)
 Valeur d'un mutex libre.
 

Définitions de type

typedef volatile uint8_t xMutex
 Type mutex.
 

Documentation des macros

#define MUTEX_INITIALIZER   MUTEX_UNLOCK

Valeur d'initialisation d'un mutex non verrouillé (libre)

Par convention un mutex verrouillé vaut 0, et un mutex libre vaut une valeur différente de 0.

Définition à la ligne 54 du fichier mutex.h.

Documentation des fonctions

void vMutexLock ( xMutex pxMutex)

Attend jusqu'à ce que le mutex soit libre et le verrouille (P)

Paramètres
pxMutexpointeur sur le mutex
void vMutexUnlock ( xMutex pxMutex)
int8_t xMutexTryLock ( xMutex pxMutex)

Variante non bloquante de vMutexLock.

Paramètres
pxMutexpointeur sur le mutex à attendre
Renvoie
0 s'il a pu être verrouillé, différent de 0 si le bit du mutex est déjà verrouillé.
Exemples:
aprs/demo_aprs.c, net/aprs/demo_aprs.c, net/i2c/slave/tws/sensor-sleep/demo_i2c_slave_tws_sensor_sleep.c, et net/tnc/master/demo_tnc_master.c.