osSemaphoreAcquire() - получение токена семафора в CMSIS-RTOS2

Получение токена семафора или тайм-аута, если токены недоступны.

osStatus_t  osSemaphoreAcquire (osSemaphoreId_t  semaphore_id,
                                uint32_t         timeout)

Параметры

semaphore_id
semaphore ID obtained by osSemaphoreNew()
Идентификатор семафора, полученный с помощью функции osSemaphoreNew().
timeout
Timeout Values or 0 in case of no time-out
.



Возвращаемое значение

osSemaphoreId_t
semaphore ID for reference by other functions or NULL in case of error
Указатель на идентификатор семафора (тип значения - osSemaphoreId_t / указатель на void) или NULL в случае ошибки.
/// \details Semaphore ID identifies the semaphore.
typedef  void  *osSemaphoreId_t;



Описание

Функцию osSemaphoreNew() можно безопасно вызвать до запуска ядра RTOS osKernelStart(), но не до ее инициализации osKernelInitialize().

Функция osSemaphoreNew() не может быть вызвана из процедуры обработки прерывания (ISR - Interrupt Service Routines).