...
Files
os.h/os_sem.c
Prototype
Code Block |
---|
OS_SEM_CTR OSSemPost (OS_SEM *p_sem,
OS_OPT opt,
OS_ERR *p_err) |
Arguments
p_sem
is a pointer to the semaphore.
...
- Semaphores must be created before they are used.
- You can also post to a semaphore from an ISR but the semaphore must be used as a signaling mechanism and not to protect a shared resource.
Example Usage
Code Block | ||
---|---|---|
| ||
OS_SEM SwSem;
void TaskX (void *p_arg)
{
OS_ERR err;
OS_SEM_CTR ctr;
(void)&p_arg;
while (DEF_ON) {
:
:
ctr = OSSemPost(&SwSem,
OS_OPT_POST_1 + OS_OPT_POST_NO_SCHED,
&err);
/* Check "err" */
:
:
}
} |