Go to the source code of this file.
◆ 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
#define uxSemaphoreGetCount |
( |
| xSemaphore | ) |
|
Value:
UBaseType_t uxQueueMessagesWaiting(const QueueHandle_t xQueue)
Definition queue.c:2197
struct QueueDefinition * QueueHandle_t
Definition queue.h:51
semphr.h
QueueHandle_t SemaphoreHandle_t
Definition semphr.h:38
struct tskTaskControlBlock * TaskHandle_t
Definition task.h:92
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. semphr.h
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. semphr.h
unsigned long UBaseType_t
Definition portmacro.h:60
#define uxSemaphoreGetCount(xSemaphore)
Definition semphr.h:1177
If the semaphore is a counting semaphore then uxSemaphoreGetCount() returns its current count value. If the semaphore is a binary semaphore then uxSemaphoreGetCount() returns 1 if the semaphore is available, and 0 if the semaphore is not available.
◆ uxSemaphoreGetCountFromISR
#define uxSemaphoreGetCountFromISR |
( |
| xSemaphore | ) |
|
Value:
UBaseType_t uxQueueMessagesWaitingFromISR(const QueueHandle_t xQueue)
Definition queue.c:2238
semphr.h
#define uxSemaphoreGetCountFromISR(xSemaphore)
Definition semphr.h:1191
If the semaphore is a counting semaphore then uxSemaphoreGetCountFromISR() returns its current count value. If the semaphore is a binary semaphore then uxSemaphoreGetCountFromISR() returns 1 if the semaphore is available, and 0 if the semaphore is not available.
◆ vSemaphoreDelete
#define vSemaphoreDelete |
( |
| xSemaphore | ) |
|
Value:
void vQueueDelete(QueueHandle_t xQueue)
Definition queue.c:2254
◆ xSemaphoreGive
#define xSemaphoreGive |
( |
| xSemaphore | ) |
|
Value:
BaseType_t xQueueGenericSend(QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
Definition queue.c:939
#define queueSEND_TO_BACK
Definition queue.h:68
#define semGIVE_BLOCK_TIME
Definition semphr.h:42
◆ xSemaphoreGiveFromISR
#define xSemaphoreGiveFromISR |
( |
| xSemaphore, |
|
|
| pxHigherPriorityTaskWoken ) |
Value:
BaseType_t xQueueGiveFromISR(QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken)
Definition queue.c:1329
◆ xSemaphoreTake
#define xSemaphoreTake |
( |
| xSemaphore, |
|
|
| xBlockTime ) |
Value:
BaseType_t xQueueSemaphoreTake(QueueHandle_t xQueue, TickType_t xTicksToWait)
Definition queue.c:1652
◆ xSemaphoreTakeFromISR
#define xSemaphoreTakeFromISR |
( |
| xSemaphore, |
|
|
| pxHigherPriorityTaskWoken ) |
Value:
BaseType_t xQueueReceiveFromISR(QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken)
Definition queue.c:2035
semphr. h
);
long BaseType_t
Definition portmacro.h:59
#define xSemaphoreTakeFromISR(xSemaphore, pxHigherPriorityTaskWoken)
Definition semphr.h:675
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