📄 ucos_ii.h
字号:
void OS_SchedLock(void);
void OSSchedUnlock(void);
#endif
void OSStart(void);
void OSStatInit(void);
INT16U OSVersion(void);
/*$PAGE*/
/*
*********************************************************************************************************
* INTERNAL FUNCTION PROTOTYPES
* (Your application MUST NOT call these functions)
*********************************************************************************************************
*/
#if OS_TASK_DEL_EN > 0
void OS_Dummy(void);
#endif
#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 > 0
void OS_QInit(void);
#endif
void OS_Sched(void);
void OS_TaskIdle(void *data);
#if OS_TASK_STAT_EN > 0
void OS_TaskStat(void *data);
#endif
INT8U 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 >= 204
void OSInitHookBegin(void);
void OSInitHookEnd(void);
#endif
extern void OSIntCtxSw(void);
extern void OSStartHighRdy(void);
void OSTaskCreateHook(OS_TCB *ptcb);
void OSTaskDelHook(OS_TCB *ptcb);
#if OS_VERSION >= 251
void OSTaskIdleHook(void);
#endif
void OSTaskStatHook(void);
OS_STK *OSTaskStkInit(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt);
void OSTaskSwHook(void);
#if OS_VERSION >= 204
void OSTCBInitHook(OS_TCB *ptcb);
#endif
void OSTimeTickHook(void);
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
* (Compiler Specific ISR prototypes)
*********************************************************************************************************
*/
#ifndef OS_ISR_PROTO_EXT
void OSCtxSw(void);
void OSTickISR(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
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* 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 + -