Go to the source code of this file.
 | 
| #define  | semBINARY_SEMAPHORE_QUEUE_LENGTH   ( ( uint8_t ) 1U ) | 
|   | 
| #define  | semSEMAPHORE_QUEUE_ITEM_LENGTH   ( ( uint8_t ) 0U ) | 
|   | 
| #define  | semGIVE_BLOCK_TIME   ( ( TickType_t ) 0U ) | 
|   | 
| #define  | xSemaphoreTake(xSemaphore,  xBlockTime)   xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) ) | 
|   | 
| #define  | xSemaphoreGive(xSemaphore)   xQueueGenericSend( ( QueueHandle_t ) ( xSemaphore ), NULL, semGIVE_BLOCK_TIME, queueSEND_TO_BACK ) | 
|   | 
| #define  | xSemaphoreGiveFromISR(xSemaphore,  pxHigherPriorityTaskWoken)   xQueueGiveFromISR( ( QueueHandle_t ) ( xSemaphore ), ( pxHigherPriorityTaskWoken ) ) | 
|   | 
| #define  | xSemaphoreTakeFromISR(xSemaphore,  pxHigherPriorityTaskWoken)   xQueueReceiveFromISR( ( QueueHandle_t ) ( xSemaphore ), NULL, ( pxHigherPriorityTaskWoken ) ) | 
|   | 
| #define  | vSemaphoreDelete(xSemaphore)   vQueueDelete( ( QueueHandle_t ) ( xSemaphore ) ) | 
|   | 
| #define  | xSemaphoreGetMutexHolder(xSemaphore)   xQueueGetMutexHolder( ( xSemaphore ) ) | 
|   | 
| #define  | xSemaphoreGetMutexHolderFromISR(xSemaphore)   xQueueGetMutexHolderFromISR( ( xSemaphore ) ) | 
|   | 
| #define  | uxSemaphoreGetCount(xSemaphore)   uxQueueMessagesWaiting( ( QueueHandle_t ) ( xSemaphore ) ) | 
|   | 
◆ semBINARY_SEMAPHORE_QUEUE_LENGTH
      
        
          | #define semBINARY_SEMAPHORE_QUEUE_LENGTH   ( ( uint8_t ) 1U ) | 
        
      
 
 
◆ semGIVE_BLOCK_TIME
◆ semSEMAPHORE_QUEUE_ITEM_LENGTH
      
        
          | #define semSEMAPHORE_QUEUE_ITEM_LENGTH   ( ( uint8_t ) 0U ) | 
        
      
 
 
◆ uxSemaphoreGetCount
◆ vSemaphoreDelete
◆ xSemaphoreGetMutexHolder
semphr.h 
TaskHandle_t xSemaphoreGetMutexHolder( SemaphoreHandle_t xMutex );
If xMutex is indeed a mutex type semaphore, return the current mutex holder. If xMutex is not a mutex type semaphore, or the mutex is available (not held by a task), return NULL.
Note: This is a good way of determining if the calling task is the mutex holder, but not a good way of determining the identity of the mutex holder as the holder may change between the function exiting and the returned value being tested. 
 
 
◆ xSemaphoreGetMutexHolderFromISR
◆ xSemaphoreGive
◆ xSemaphoreGiveFromISR
      
        
          | #define xSemaphoreGiveFromISR | 
          ( | 
            | 
          xSemaphore,  | 
        
        
           | 
           | 
            | 
          pxHigherPriorityTaskWoken  | 
        
        
           | 
          ) | 
           |    xQueueGiveFromISR( ( QueueHandle_t ) ( xSemaphore ), ( pxHigherPriorityTaskWoken ) ) | 
        
      
 
 
◆ xSemaphoreTake
      
        
          | #define xSemaphoreTake | 
          ( | 
            | 
          xSemaphore,  | 
        
        
           | 
           | 
            | 
          xBlockTime  | 
        
        
           | 
          ) | 
           |    xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) ) | 
        
      
 
 
◆ xSemaphoreTakeFromISR
      
        
          | #define xSemaphoreTakeFromISR | 
          ( | 
            | 
          xSemaphore,  | 
        
        
           | 
           | 
            | 
          pxHigherPriorityTaskWoken  | 
        
        
           | 
          ) | 
           |    xQueueReceiveFromISR( ( QueueHandle_t ) ( xSemaphore ), NULL, ( pxHigherPriorityTaskWoken ) ) | 
        
      
 
semphr. h 
xSemaphoreTakeFromISR(
                         SemaphoreHandle_t xSemaphore,
                         BaseType_t *pxHigherPriorityTaskWoken
                     )Macro to take a semaphore from an ISR. The semaphore must have previously been created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting().
Mutex type semaphores (those created using a call to xSemaphoreCreateMutex()) must not be used with this macro.
This macro can be used from an ISR, however taking a semaphore from an ISR is not a common operation. It is likely to only be useful when taking a counting semaphore when an interrupt is obtaining an object from a resource pool (when the semaphore count indicates the number of resources available).
- Parameters
 - 
  
    | xSemaphore | A handle to the semaphore being taken. This is the handle returned when the semaphore was created. | 
    | pxHigherPriorityTaskWoken | xSemaphoreTakeFromISR() will set *pxHigherPriorityTaskWoken to pdTRUE if taking the semaphore caused a task to unblock, and the unblocked task has a priority higher than the currently running task. If xSemaphoreTakeFromISR() sets this value to pdTRUE then a context switch should be requested before the interrupt is exited. | 
  
   
- Returns
 - pdTRUE if the semaphore was successfully taken, otherwise pdFALSE 
 
 
 
◆ SemaphoreHandle_t