create | receive/take | send/give/release | queue_len | xItemSize | uxMessageWaiting when init | |
BASE | xQueueCreate xQueueCreateStatic | xQueueReceive xQueueReceiveFromISR | xQueueSend xQueueSendToFront xQueueSendToBack | >0 | >0 | 0 |
BINARY_SEMAPHORE | xSemaphoreCreateBinary xSemaphoreCreateBinaryStatic | xSemaphoreTake xSemaphoreTakeFromISR | xSemaphoreGive xSemaphoreGiveFromISR | 1 | 0 | 0 |
COUNTING_SEMAPHORE | xSemaphoreCreateCounting xSemaphoreCreateCountingStatic | xSemaphoreTake xSemaphoreTakeFromISR | xSemaphoreGive xSemaphoreGiveFromISR | MaxCount | 0 | InitCount |
MUTEX | xSemaphoreCreateMutex xSemaphoreCreateMutexStatic | xSemaphoreTake xSemaphoreTakeFromISR | xSemaphoreGive xSemaphoreGiveFromISR | 1 | 0 | 1 |
RECURSIVE_MUTEX | xSemaphoreCreateRecursiveMutex xSemaphoreCreateRecursiveMutexStatic | xSemaphoreTakeRecursive | xSemaphoreGiveRecursive | 1 | 0 | 1 |
SET | xQueueCreateSet xQueueAddToSet<add q/sem to set> | xQueueSelectFromSet xQueueSelectFromSetFromISR receive from q/take sem api | send to queue/release sem api | (sem1_len+q1_len+…) | sizeof(Queue_t*) |