The table below shows the difference in API for semaphore management.
µC/OS-II (os_sem.c ) | µC/OS-III (os_sem.c ) | Note |
---|---|---|
INT16U OSSemAccept( OS_EVENT *pevent); | (1) | |
OS_EVENT * OSSemCreate( INT16U cnt); | void OSSemCreate( OS_SEM *p_sem, CPU_CHAR *p_name, OS_SEM_CTR cnt, OS_ERR *p_err); | (2) |
OS_EVENT * OSSemDel( OS_EVENT *pevent, INT8U opt, INT8U *perr); | OS_OBJ_QTY, OSSemDel( OS_SEM *p_sem, OS_OPT opt, OS_ERR *p_err); | |
void OSSemPend( OS_EVENT *pevent, INT32U timeout, INT8U *perr); | OS_SEM_CTR OSSemPend( OS_SEM *p_sem, OS_TICK timeout, OS_OPT opt, CPU_TS *p_ts, OS_ERR *p_err); | (3) |
INT8U OSSemPendAbort( OS_EVENT *pevent, INT8U opt, INT8U *perr); | OS_OBJ_QTY OSSemPendAbort( OS_SEM *p_sem, OS_OPT opt, OS_ERR *p_err); | |
void OSSemPost( OS_EVENT *pevent); | void OSSemPost( OS_SEM *p_sem, OS_OPT opt, OS_ERR *p_err); | |
INT8U OSSemQuery( OS_EVENT *pevent, OS_SEM_DATA *p_sem_data); | (4) | |
void OSSemSet( OS_EVENT *pevent, INT16U cnt, INT8U *perr); | void OSSemSet( OS_SEM *p_sem, OS_SEM_CTR cnt, OS_ERR *p_err); |