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).