osSemaphoreRelease() - выпуск токена семафора в CMSIS-RTOS2
Выпускает токена семафора и увеличивает счетчик токена на единицу до значения, не больше максимального количества токенов.
osStatus_t osSemaphoreRelease (osSemaphoreId_t semaphore_id)
Параметры
typedef void *osSemaphoreId_t;
Возвращаемое значение
Возможные возвращаемые значения:
osOK : токен семафора был выпущен и количество токенов увеличилось на один;
osErrorParameter : неверно указан идентификатор семафора (semaphore_id): ошибка имени или NULL;
osErrorResource : токен не может быть выпущен из-за превышения максимального количества токенов;
osErrorSafetyClass : класс безопасности вызывающей задачи ниже, чем класс безопасности указанного семафора.
Описание
Функция osSemaphoreRelease() выпускает токен для семафора, указанного в параметре semaphore_id и увеличивает счетчик количества токенов.
Токены могут быть выпущены только до максимального количества, указанного во время создания функцией osSemaphoreNew().
Как только токен выпущен, задачи, ожидающие его, переходят в состояние готовности (READY).
Функция osSemaphoreRelease() может быть вызвана из процедуры обработки прерывания (ISR - Interrupt Service Routines).