?? ucos_ii.h
字號:
*/
#if OS_MBOX_EN > 0
#if OS_MBOX_ACCEPT_EN > 0
void *OSMboxAccept (OS_EVENT *pevent);
#endif
OS_EVENT *OSMboxCreate (void *pmsg);
#if OS_MBOX_DEL_EN > 0
OS_EVENT *OSMboxDel (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
void *OSMboxPend (OS_EVENT *pevent,
INT16U timeout,
INT8U *perr);
#if OS_MBOX_PEND_ABORT_EN > 0
INT8U OSMboxPendAbort (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
#if OS_MBOX_POST_EN > 0
INT8U OSMboxPost (OS_EVENT *pevent,
void *pmsg);
#endif
#if OS_MBOX_POST_OPT_EN > 0
INT8U OSMboxPostOpt (OS_EVENT *pevent,
void *pmsg,
INT8U opt);
#endif
#if OS_MBOX_QUERY_EN > 0
INT8U OSMboxQuery (OS_EVENT *pevent,
OS_MBOX_DATA *p_mbox_data);
#endif
#endif
/*
*********************************************************************************************************
* MEMORY MANAGEMENT
*********************************************************************************************************
*/
#if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
OS_MEM *OSMemCreate (void *addr,
INT32U nblks,
INT32U blksize,
INT8U *perr);
void *OSMemGet (OS_MEM *pmem,
INT8U *perr);
#if OS_MEM_NAME_SIZE > 1
INT8U OSMemNameGet (OS_MEM *pmem,
INT8U *pname,
INT8U *perr);
void OSMemNameSet (OS_MEM *pmem,
INT8U *pname,
INT8U *perr);
#endif
INT8U OSMemPut (OS_MEM *pmem,
void *pblk);
#if OS_MEM_QUERY_EN > 0
INT8U OSMemQuery (OS_MEM *pmem,
OS_MEM_DATA *p_mem_data);
#endif
#endif
/*
*********************************************************************************************************
* MUTUAL EXCLUSION SEMAPHORE MANAGEMENT
*********************************************************************************************************
*/
#if OS_MUTEX_EN > 0
#if OS_MUTEX_ACCEPT_EN > 0
BOOLEAN OSMutexAccept (OS_EVENT *pevent,
INT8U *perr);
#endif
OS_EVENT *OSMutexCreate (INT8U prio,
INT8U *perr);
#if OS_MUTEX_DEL_EN > 0
OS_EVENT *OSMutexDel (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
void OSMutexPend (OS_EVENT *pevent,
INT16U timeout,
INT8U *perr);
INT8U OSMutexPost (OS_EVENT *pevent);
#if OS_MUTEX_QUERY_EN > 0
INT8U OSMutexQuery (OS_EVENT *pevent,
OS_MUTEX_DATA *p_mutex_data);
#endif
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* MESSAGE QUEUE MANAGEMENT
*********************************************************************************************************
*/
#if (OS_Q_EN > 0) && (OS_MAX_QS > 0)
#if OS_Q_ACCEPT_EN > 0
void *OSQAccept (OS_EVENT *pevent,
INT8U *perr);
#endif
OS_EVENT *OSQCreate (void **start,
INT16U size);
#if OS_Q_DEL_EN > 0
OS_EVENT *OSQDel (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
#if OS_Q_FLUSH_EN > 0
INT8U OSQFlush (OS_EVENT *pevent);
#endif
void *OSQPend (OS_EVENT *pevent,
INT16U timeout,
INT8U *perr);
#if OS_Q_PEND_ABORT_EN > 0
INT8U OSQPendAbort (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
#if OS_Q_POST_EN > 0
INT8U OSQPost (OS_EVENT *pevent,
void *pmsg);
#endif
#if OS_Q_POST_FRONT_EN > 0
INT8U OSQPostFront (OS_EVENT *pevent,
void *pmsg);
#endif
#if OS_Q_POST_OPT_EN > 0
INT8U OSQPostOpt (OS_EVENT *pevent,
void *pmsg,
INT8U opt);
#endif
#if OS_Q_QUERY_EN > 0
INT8U OSQQuery (OS_EVENT *pevent,
OS_Q_DATA *p_q_data);
#endif
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* SEMAPHORE MANAGEMENT
*********************************************************************************************************
*/
#if OS_SEM_EN > 0
#if OS_SEM_ACCEPT_EN > 0
INT16U OSSemAccept (OS_EVENT *pevent);
#endif
OS_EVENT *OSSemCreate (INT16U cnt);
#if OS_SEM_DEL_EN > 0
OS_EVENT *OSSemDel (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
void OSSemPend (OS_EVENT *pevent,
INT16U timeout,
INT8U *perr);
#if OS_SEM_PEND_ABORT_EN > 0
INT8U OSSemPendAbort (OS_EVENT *pevent,
INT8U opt,
INT8U *perr);
#endif
INT8U OSSemPost (OS_EVENT *pevent);
#if OS_SEM_QUERY_EN > 0
INT8U OSSemQuery (OS_EVENT *pevent,
OS_SEM_DATA *p_sem_data);
#endif
#if OS_SEM_SET_EN > 0
void OSSemSet (OS_EVENT *pevent,
INT16U cnt,
INT8U *perr);
#endif
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* TASK MANAGEMENT
*********************************************************************************************************
*/
#if OS_TASK_CHANGE_PRIO_EN > 0
INT8U OSTaskChangePrio (INT8U oldprio,
INT8U newprio);
#endif
#if OS_TASK_CREATE_EN > 0
INT8U OSTaskCreate (void (*task)(void *p_arg),
void *p_arg,
OS_STK *ptos,
INT8U prio);
#endif
#if OS_TASK_CREATE_EXT_EN > 0
INT8U OSTaskCreateExt (void (*task)(void *p_arg),
void *p_arg,
OS_STK *ptos,
INT8U prio,
INT16U id,
OS_STK *pbos,
INT32U stk_size,
void *pext,
INT16U opt);
#endif
#if OS_TASK_DEL_EN > 0
INT8U OSTaskDel (INT8U prio);
INT8U OSTaskDelReq (INT8U prio);
#endif
#if OS_TASK_NAME_SIZE > 1
INT8U OSTaskNameGet (INT8U prio,
INT8U *pname,
INT8U *perr);
void OSTaskNameSet (INT8U prio,
INT8U *pname,
INT8U *perr);
#endif
#if OS_TASK_SUSPEND_EN > 0
INT8U OSTaskResume (INT8U prio);
INT8U OSTaskSuspend (INT8U prio);
#endif
#if OS_TASK_CREATE_EXT_EN > 0
INT8U OSTaskStkChk (INT8U prio,
OS_STK_DATA *p_stk_data);
#endif
#if OS_TASK_QUERY_EN > 0
INT8U OSTaskQuery (INT8U prio,
OS_TCB *p_task_data);
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* TIME MANAGEMENT
*********************************************************************************************************
*/
void OSTimeDly (INT16U ticks);
#if OS_TIME_DLY_HMSM_EN > 0
INT8U OSTimeDlyHMSM (INT8U hours,
INT8U minutes,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -