Differences

This shows you the differences between two versions of the page.

Link to this comparison view

patr:laboratoare:11 [2022/01/13 14:01]
alexandru.ionita99 [Declarare]
patr:laboratoare:11 [2022/01/13 14:04] (current)
alexandru.ionita99 [Utilizare]
Line 55: Line 55:
 ==== Utilizare ==== ==== Utilizare ====
  
-Următoarele ​funcții ​sunt de interes: +Pentru a lucra cu mutexurile, se utilizează același ​funcții ​ca în cazul semafoarelor. Funcțiile ​de interes ​sunt: 
-  * Pentru a afla valoarea unui semafor, este utilizată funcția ​**UBaseType_t uxSemaphoreGetCount( SemaphoreHandle_t xSemaphore )** + 
-  * Pentru a crește valoarea unui semafor, este utilizată funcția ​**BaseType_t xSemaphoreGive( SemaphoreHandle_t xSemaphore )** +  * **UBaseType_t uxSemaphoreGetCount( SemaphoreHandle_t xSemaphore )** - întoarce valoarea mutexului (0 sau 1) 
-  * Pentru a scădea valoarea unui semafor, este utilizată funcția ​**BaseType_t xSemaphoreTake( SemaphoreHandle_t xSemaphore, TickType_t xTicksToWait)**. Al doilea parametru specifică timpul maxim pe care un task îl poate petrece așteptând deblocarea ​semaforului. După depășirea acestui timp, taksul își continuă execuția +  * **BaseType_t xSemaphoreGive( SemaphoreHandle_t xSemaphore )** - eliberează mutexul 
-  * Pentru a șterge un semafor, este utilizată funcția ​**void vSemaphoreDelete( SemaphoreHandle_t xSemaphore )**+  * **BaseType_t xSemaphoreTake( SemaphoreHandle_t xSemaphore, TickType_t xTicksToWait)** ​- blochează mutexul. Al doilea parametru specifică timpul maxim pe care un task îl poate petrece așteptând deblocarea ​mutexului, dacă este deja blocat de un alt task. După depășirea acestui timp, taksul își continuă execuția 
 +  * **void vSemaphoreDelete( SemaphoreHandle_t xSemaphore )** - șterge mutexul referit prin handle
  
 <note tip>​Funcțiile **Give** și **Take** întorc două valori posibile: **pdPASS** dacă operația a fost realizată cu succes sau **pdFAIL** dacă nu.</​note>​ <note tip>​Funcțiile **Give** și **Take** întorc două valori posibile: **pdPASS** dacă operația a fost realizată cu succes sau **pdFAIL** dacă nu.</​note>​
patr/laboratoare/11.1642075273.txt.gz · Last modified: 2022/01/13 14:01 by alexandru.ionita99
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0