📄 ucos_ii.h
字号:
#if ((OS_Q_EN > 0) && (OS_MAX_QS > 0)) || (OS_MBOX_EN > 0) || (OS_SEM_EN > 0) || (OS_MUTEX_EN > 0)INT8U OS_EventTaskRdy(OS_EVENT *pevent, void *msg, INT8U msk);void OS_EventTaskWait(OS_EVENT *pevent);void OS_EventTO(OS_EVENT *pevent);void OS_EventWaitListInit(OS_EVENT *pevent);#endif#if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)void OS_FlagInit(void);void OS_FlagUnlink(OS_FLAG_NODE *pnode);#endif#if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)void OS_MemInit(void);#endif#if OS_Q_EN > 0void OS_QInit(void);#endifvoid OS_Sched(void);void OS_TaskIdle(void *data);#if OS_TASK_STAT_EN > 0void OS_TaskStat(void *data);#endifINT8U OS_TCBInit(INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT32U stk_size, void *pext, INT16U opt);/*$PAGE*//*********************************************************************************************************** FUNCTION PROTOTYPES* (Target Specific Functions)**********************************************************************************************************/#if OS_VERSION >= 204void OSInitHookBegin(void);void OSInitHookEnd(void);#endifvoid OSIntCtxSw(void);void OSStartHighRdy(void);void OSTaskCreateHook(OS_TCB *ptcb);void OSTaskDelHook(OS_TCB *ptcb);#if OS_VERSION >= 251void OSTaskIdleHook(void);#endifvoid OSTaskStatHook(void);OS_STK *OSTaskStkInit(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt);void OSTaskSwHook(void);#if OS_VERSION >= 204void OSTCBInitHook(OS_TCB *ptcb);#endifvoid OSTimeTickHook(void);/*********************************************************************************************************** FUNCTION PROTOTYPES* (Compiler Specific ISR prototypes)**********************************************************************************************************/#ifndef OS_ISR_PROTO_EXT//void OSCtxSw(void);//void OSISR(void);#endif/*$PAGE*//*********************************************************************************************************** LOOK FOR MISSING #define CONSTANTS** This section is used to generate ERROR messages at compile time if certain #define constants are * MISSING in OS_CFG.H. This allows you to quickly determine the source of the error.** You SHOULD NOT change this section UNLESS you would like to add more comments as to the source of the* compile time error.**********************************************************************************************************//*********************************************************************************************************** EVENT FLAGS**********************************************************************************************************/#ifndef OS_FLAG_EN#error "OS_CFG.H, Missing OS_FLAG_EN: Enable (1) or Disable (0) code generation for Event Flags"#else #ifndef OS_MAX_FLAGS #error "OS_CFG.H, Missing OS_MAX_FLAGS: Max. number of Event Flag Groups in your application" #else #if OS_MAX_FLAGS == 0 #error "OS_CFG.H, OS_MAX_FLAGS must be > 0" #endif #if OS_MAX_FLAGS > 255 #error "OS_CFG.H, OS_MAX_FLAGS must be <= 255" #endif #endif #ifndef OS_FLAG_WAIT_CLR_EN #error "OS_CFG.H, Missing OS_FLAG_WAIT_CLR_EN: Include code for Wait on Clear EVENT FLAGS" #endif #ifndef OS_FLAG_ACCEPT_EN #error "OS_CFG.H, Missing OS_FLAG_ACCEPT_EN: Include code for OSFlagAccept()" #endif #ifndef OS_FLAG_DEL_EN #error "OS_CFG.H, Missing OS_FLAG_DEL_EN: Include code for OSFlagDel()" #endif #ifndef OS_FLAG_QUERY_EN #error "OS_CFG.H, Missing OS_FLAG_DEL_EN: Include code for OSFlagQuery()" #endif#endif/*********************************************************************************************************** MESSAGE MAILBOXES**********************************************************************************************************/#ifndef OS_MBOX_EN#error "OS_CFG.H, Missing OS_MBOX_EN: Enable (1) or Disable (0) code generation for MAILBOXES"#else #ifndef OS_MBOX_ACCEPT_EN #error "OS_CFG.H, Missing OS_MBOX_ACCEPT_EN: Include code for OSMboxAccept()" #endif #ifndef OS_MBOX_DEL_EN #error "OS_CFG.H, Missing OS_MBOX_DEL_EN: Include code for OSMboxDel()" #endif #ifndef OS_MBOX_POST_EN #error "OS_CFG.H, Missing OS_MBOX_POST_EN: Include code for OSMboxPost()" #endif #ifndef OS_MBOX_POST_OPT_EN #error "OS_CFG.H, Missing OS_MBOX_POST_OPT_EN: Include code for OSMboxPostOpt()" #endif #ifndef OS_MBOX_QUERY_EN #error "OS_CFG.H, Missing OS_MBOX_QUERY_EN: Include code for OSMboxQuery()" #endif#endif/*********************************************************************************************************** MEMORY MANAGEMENT**********************************************************************************************************/#ifndef OS_MEM_EN#error "OS_CFG.H, Missing OS_MEM_EN: Enable (1) or Disable (0) code generation for MEMORY MANAGER"#else #ifndef OS_MAX_MEM_PART #error "OS_CFG.H, Missing OS_MAX_MEM_PART: Max. number of memory partitions" #else #if OS_MAX_MEM_PART == 0 #error "OS_CFG.H, OS_MAX_MEM_PART must be > 0" #endif #if OS_MAX_MEM_PART > 255 #error "OS_CFG.H, OS_MAX_MEM_PART must be <= 255" #endif #endif #ifndef OS_MEM_QUERY_EN #error "OS_CFG.H, Missing OS_MEM_QUERY_EN: Include code for OSMemQuery()" #endif#endif/*********************************************************************************************************** MUTUAL EXCLUSION SEMAPHORES**********************************************************************************************************/#ifndef OS_MUTEX_EN#error "OS_CFG.H, Missing OS_MUTEX_EN: Enable (1) or Disable (0) code generation for MUTEX"#else #ifndef OS_MUTEX_ACCEPT_EN #error "OS_CFG.H, Missing OS_MUTEX_ACCEPT_EN: Include code for OSMutexAccept()" #endif #ifndef OS_MUTEX_DEL_EN #error "OS_CFG.H, Missing OS_MUTEX_DEL_EN: Include code for OSMutexDel()" #endif #ifndef OS_MUTEX_QUERY_EN #error "OS_CFG.H, Missing OS_MUTEX_QUERY_EN: Include code for OSMutexQuery()" #endif#endif/*********************************************************************************************************** MESSAGE QUEUES**********************************************************************************************************/#ifndef OS_Q_EN#error "OS_CFG.H, Missing OS_Q_EN: Enable (1) or Disable (0) code generation for QUEUES"#else #ifndef OS_MAX_QS #error "OS_CFG.H, Missing OS_MAX_QS: Max. number of queue control blocks" #else #if OS_MAX_QS == 0 #error "OS_CFG.H, OS_MAX_QS must be > 0" #endif #if OS_MAX_QS > 255 #error "OS_CFG.H, OS_MAX_QS must be <= 255" #endif #endif #ifndef OS_Q_ACCEPT_EN #error "OS_CFG.H, Missing OS_Q_ACCEPT_EN: Include code for OSQAccept()" #endif #ifndef OS_Q_DEL_EN #error "OS_CFG.H, Missing OS_Q_DEL_EN: Include code for OSQDel()" #endif #ifndef OS_Q_FLUSH_EN #error "OS_CFG.H, Missing OS_Q_FLUSH_EN: Include code for OSQFlush()" #endif #ifndef OS_Q_POST_EN #error "OS_CFG.H, Missing OS_Q_POST_EN: Include code for OSQPost()" #endif #ifndef OS_Q_POST_FRONT_EN #error "OS_CFG.H, Missing OS_Q_POST_FRONT_EN: Include code for OSQPostFront()" #endif #ifndef OS_Q_POST_OPT_EN #error "OS_CFG.H, Missing OS_Q_POST_OPT_EN: Include code for OSQPostOpt()" #endif #ifndef OS_Q_QUERY_EN #error "OS_CFG.H, Missing OS_Q_QUERY_EN: Include code for OSQQuery()" #endif#endif/*********************************************************************************************************** SEMAPHORES**********************************************************************************************************/#ifndef OS_SEM_EN#error "OS_CFG.H, Missing OS_SEM_EN: Enable (1) or Disable (0) code generation for SEMAPHORES"#else #ifndef OS_SEM_ACCEPT_EN #error "OS_CFG.H, Missing OS_SEM_ACCEPT_EN: Include code for OSSemAccept()" #endif #ifndef OS_SEM_DEL_EN #error "OS_CFG.H, Missing OS_SEM_DEL_EN: Include code for OSSemDel()" #endif #ifndef OS_SEM_QUERY_EN #error "OS_CFG.H, Missing OS_SEM_QUERY_EN: Include code for OSSemQuery()" #endif#endif/*********************************************************************************************************** TASK MANAGEMENT**********************************************************************************************************/#ifndef OS_MAX_TASKS#error "OS_CFG.H, Missing OS_MAX_TASKS: Max. number of tasks in your application"#else #if OS_MAX_TASKS == 0 #error "OS_CFG.H, OS_MAX_TASKS must be >= 2" #endif #if OS_MAX_TASKS > 63 #error "OS_CFG.H, OS_MAX_TASKS must be <= 63" #endif#endif#ifndef OS_TASK_IDLE_STK_SIZE#error "OS_CFG.H, Missing OS_TASK_IDLE_STK_SIZE: Idle task stack size"#endif#ifndef OS_TASK_STAT_EN#error "OS_CFG.H, Missing OS_TASK_STAT_EN: Enable (1) or Disable(0) the statistics task"#endif#ifndef OS_TASK_STAT_STK_SIZE#error "OS_CFG.H, Missing OS_TASK_STAT_STK_SIZE: Statistics task stack size"#endif#ifndef OS_TASK_CHANGE_PRIO_EN#error "OS_CFG.H, Missing OS_TASK_CHANGE_PRIO_EN: Include code for OSTaskChangePrio()"#endif#ifndef OS_TASK_CREATE_EN#error "OS_CFG.H, Missing OS_TASK_CREATE_EN: Include code for OSTaskCreate()"#endif#ifndef OS_TASK_CREATE_EXT_EN#error "OS_CFG.H, Missing OS_TASK_CREATE_EXT_EN: Include code for OSTaskCreateExt()"#endif#ifndef OS_TASK_DEL_EN#error "OS_CFG.H, Missing OS_TASK_DEL_EN: Include code for OSTaskDel()"#endif#ifndef OS_TASK_SUSPEND_EN#error "OS_CFG.H, Missing OS_TASK_SUSPEND_EN: Include code for OSTaskSuspend() and OSTaskResume()"#endif#ifndef OS_TASK_QUERY_EN#error "OS_CFG.H, Missing OS_TASK_QUERY_EN: Include code for OSTaskQuery()"#endif/*********************************************************************************************************** TIME MANAGEMENT**********************************************************************************************************/#ifndef OS_TICKS_PER_SEC#error "OS_CFG.H, Missing OS_TICKS_PER_SEC: Sets the number of ticks in one second"#endif#ifndef OS_TIME_DLY_HMSM_EN#error "OS_CFG.H, Missing OS_TIME_DLY_HMSM_EN: Include code for OSTimeDlyHMSM()"#endif#ifndef OS_TIME_DLY_RESUME_EN#error "OS_CFG.H, Missing OS_TIME_DLY_RESUME_EN: Include code for OSTimeDlyResume()"#endif#ifndef OS_TIME_GET_SET_EN#error "OS_CFG.H, Missing OS_TIME_GET_SET_EN: Include code for OSTimeGet() and OSTimeSet()"#endif/*********************************************************************************************************** MISCELLANEOUS**********************************************************************************************************/#ifndef OS_MAX_EVENTS#error "OS_CFG.H, Missing OS_MAX_EVENTS: Max. number of event control blocks in your application"#else #if OS_MAX_EVENTS == 0 #error "OS_CFG.H, OS_MAX_EVENTS must be > 0" #endif #if OS_MAX_EVENTS > 255 #error "OS_CFG.H, OS_MAX_EVENTS must be <= 255" #endif#endif#ifndef OS_LOWEST_PRIO#error "OS_CFG.H, Missing OS_LOWEST_PRIO: Defines the lowest priority that can be assigned"#endif#ifndef OS_ARG_CHK_EN#error "OS_CFG.H, Missing OS_ARG_CHK_EN: Enable (1) or Disable (0) argument checking"#endif#ifndef OS_CPU_HOOKS_EN#error "OS_CFG.H, Missing OS_CPU_HOOKS_EN: uC/OS-II hooks are found in the processor port files when 1"#endif#ifndef OS_SCHED_LOCK_EN#error "OS_CFG.H, Missing OS_SCHED_LOCK_EN: Include code for OSSchedLock() and OSSchedUnlock()"#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -