OS_Csem_Signal (csem)
Увеличивает значение семафора на 1. Если увеличивать уже некуда (семафор имеет максимально допустимое значение), то задача переводится в режим ожидания до тех пор, пока какая-нибудь задача не уменьшит значение семафора.
Для использования счетных семафоров в файле OSAcfg.h должна быть определена константа OS_ENABLE_CSEM. Разрядность счетных семафоров задается константой OS_CSEM_SIZE
Только не из прерывания
csem |
счетный семафор - переменная типа OST_CSEM |
bEventError |
Если семафор на момент вызова имел максимальное значение, то функция OS_IsEventError вернет значение true |
OST_CSME my_csem; void Task (void) { for (;;) { /*...*/ OS_Csem_Signal(my_csem); /*...*/ } }
OS_SignalCSem