AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Sémaphore

Description détaillée

Les sémaphores sont des compteurs permettant de gérer l'accès à des ressources partagées.

Graphe de collaboration de Sémaphore:

Fonctions

void vSemInit (xSem *pxSemaphore, xSemValue xSetValue)
 Initialisation de la valeur d'un sémaphore (Init) Plus de détails...
 
void vSemPost (xSem *pxSemaphore)
 Incrémente un sémaphore (V) Plus de détails...
 
void vSemWait (xSem *pxSemaphore)
 Attend jusqu'à ce que le sémaphore soit non nul et le décrémente (P) Plus de détails...
 
int8_t xSemTryWait (xSem *pxSemaphore)
 

Définitions de type

typedef volatile xSemValue xSem
 Type sémaphore.
 
typedef uint16_t xSemValue
 Valeur d'un sémaphore.
 

Documentation des fonctions

void vSemInit ( xSem pxSemaphore,
xSemValue  xSetValue 
)

Initialisation de la valeur d'un sémaphore (Init)

Paramètres
pxSemaphorepointeur sur le sémaphore.
xSetValuevaleur du sémaphore (nombre de ressources à partager)
Exemples:
irq/semaphore/demo_irq_semaphore.c, irq/sleep/demo_irq_sleep.c, et irq/watchdog/demo_irq_watchdog.c.
void vSemPost ( xSem pxSemaphore)

Incrémente un sémaphore (V)

Paramètres
pxSemaphorepointeur sur le sémaphore
Exemples:
irq/semaphore/demo_irq_semaphore.c, irq/sleep/demo_irq_sleep.c, et irq/watchdog/demo_irq_watchdog.c.
void vSemWait ( xSem pxSemaphore)

Attend jusqu'à ce que le sémaphore soit non nul et le décrémente (P)

Paramètres
pxSemaphorepointeur sur le sémaphore
int8_t xSemTryWait ( xSem pxSemaphore)

Variante non bloquante de vSemWait.

Paramètres
pxSemaphorepointeur sur le sémaphore à attendre
Renvoie
0 si sémaphore est décrémenté, différent de 0 si le sémaphore est nul
Exemples:
irq/semaphore/demo_irq_semaphore.c, irq/sleep/demo_irq_sleep.c, et irq/watchdog/demo_irq_watchdog.c.