OSA : OS_Csem_Signal

OS_Csem_Signal (csem)

Not allowed in interrupt

Increase counting semaphore's value by 1. If semaphore cannot be increased (already at maximum) then task switches to waiting state until some another task decreases semaphore's value

OS_ENABLE_CSEM constant must be defined in OSAcfg.h. Size of counting semaphores is defined by OS_CSEM_SIZE constant

For PIC16, counting semaphores can only be allocated in bank0 or bank1

Call allowed:

Not in interrupt

Parameters:

csem Counting semaphore. Variable of OST_CSEM type

Returns:

nothing

Example:

OST_CSEM csem;
 
void Task (void)
{
    for (;;) {
        /*...*/
        OS_Csem_Signal(csem);
        /*...*/
    }
}

Old style name

OS_SignalCSem

See also