⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucos_ii.h

📁 uCos-ii 2.86 在C8051F410单片机上移植成功!!! 其中包括:UART驱动
💻 H
📖 第 1 页 / 共 5 页
字号:
                                       INT16U           opt) reentrant;
#endif

#if OS_TASK_DEL_EN > 0
INT8U         OSTaskDel               (INT8U            prio) reentrant;
INT8U         OSTaskDelReq            (INT8U            prio) reentrant;
#endif

#if OS_TASK_NAME_SIZE > 1
INT8U         OSTaskNameGet           (INT8U            prio,
                                       INT8U           *pname,
                                       INT8U           *perr) reentrant;

void          OSTaskNameSet           (INT8U            prio,
                                       INT8U           *pname,
                                       INT8U           *perr) reentrant;
#endif

#if OS_TASK_SUSPEND_EN > 0
INT8U         OSTaskResume            (INT8U            prio) reentrant;
INT8U         OSTaskSuspend           (INT8U            prio) reentrant;
#endif

#if (OS_TASK_STAT_STK_CHK_EN > 0) && (OS_TASK_CREATE_EXT_EN > 0)
INT8U         OSTaskStkChk            (INT8U            prio,
                                       OS_STK_DATA     *p_stk_data) reentrant;
#endif

#if OS_TASK_QUERY_EN > 0
INT8U         OSTaskQuery             (INT8U            prio,
                                       OS_TCB          *p_task_data) reentrant;
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                            TIME MANAGEMENT
*********************************************************************************************************
*/

void          OSTimeDly               (INT16U           ticks) reentrant;

#if OS_TIME_DLY_HMSM_EN > 0
INT8U         OSTimeDlyHMSM           (INT8U            hours,
                                       INT8U            minutes,
                                       INT8U            seconds,
                                       INT16U           milli) reentrant;
#endif

#if OS_TIME_DLY_RESUME_EN > 0
INT8U         OSTimeDlyResume         (INT8U            prio) reentrant;
#endif

#if OS_TIME_GET_SET_EN > 0
INT32U        OSTimeGet               (void) reentrant;
void          OSTimeSet               (INT32U           ticks) reentrant;
#endif

void          OSTimeTick              (void) reentrant;

/*
*********************************************************************************************************
*                                            TIMER MANAGEMENT
*********************************************************************************************************
*/

#if OS_TMR_EN > 0
OS_TMR      *OSTmrCreate              (INT32U           dly,
                                       INT32U           period,
                                       INT8U            opt,
                                       OS_TMR_CALLBACK  callback,
                                       void            *callback_arg,
                                       INT8U           *pname,
                                       INT8U           *perr) reentrant;

BOOLEAN      OSTmrDel                 (OS_TMR          *ptmr,
                                       INT8U           *perr) reentrant;

#if OS_TMR_CFG_NAME_SIZE > 0
INT8U        OSTmrNameGet             (OS_TMR          *ptmr,
                                       INT8U           *pdest,
                                       INT8U           *perr) reentrant;
#endif
INT32U       OSTmrRemainGet           (OS_TMR          *ptmr,
                                       INT8U           *perr) reentrant;

INT8U        OSTmrStateGet            (OS_TMR          *ptmr,
                                       INT8U           *perr) reentrant;

BOOLEAN      OSTmrStart               (OS_TMR          *ptmr,
                                       INT8U           *perr) reentrant ;

BOOLEAN      OSTmrStop                (OS_TMR          *ptmr,
                                       INT8U            opt,
                                       void            *callback_arg,
                                       INT8U           *perr)reentrant ;

INT8U        OSTmrSignal              (void) reentrant;
#endif

/*
*********************************************************************************************************
*                                             MISCELLANEOUS
*********************************************************************************************************
*/

void          OSInit                  (void) reentrant;

void          OSIntEnter              (void) reentrant;
void          OSIntExit               (void) reentrant;

#if OS_SCHED_LOCK_EN > 0
void          OSSchedLock             (void) reentrant;
void          OSSchedUnlock           (void) reentrant;
#endif

void          OSStart                 (void) reentrant;

void          OSStatInit              (void) reentrant;

INT16U        OSVersion               (void) reentrant;

/*$PAGE*/
/*
*********************************************************************************************************
*                                      INTERNAL FUNCTION PROTOTYPES
*                            (Your application MUST NOT call these functions)
*********************************************************************************************************
*/

#if OS_TASK_DEL_EN > 0
void          OS_Dummy                (void);
#endif

#if (OS_EVENT_EN)
INT8U         OS_EventTaskRdy         (OS_EVENT        *pevent,
                                       void            *pmsg,
                                       INT8U            msk,
                                       INT8U            pend_stat)reentrant;

void          OS_EventTaskWait        (OS_EVENT        *pevent);

void          OS_EventTaskRemove      (OS_TCB          *ptcb,
                                       OS_EVENT        *pevent) reentrant;

#if (OS_EVENT_MULTI_EN > 0)
void          OS_EventTaskWaitMulti   (OS_EVENT       **pevents_wait);

void          OS_EventTaskRemoveMulti (OS_TCB          *ptcb,
                                       OS_EVENT       **pevents_multi);
#endif

void          OS_EventWaitListInit    (OS_EVENT        *pevent);
#endif

#if (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
void          OS_FlagInit             (void) reentrant;
void          OS_FlagUnlink           (OS_FLAG_NODE    *pnode) reentrant;
#endif

void          OS_MemClr               (INT8U           *pdest,
                                       INT16U           size);

void          OS_MemCopy              (INT8U           *pdest,
                                       INT8U           *psrc,
                                       INT16U           size);

#if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
void          OS_MemInit              (void) reentrant;
#endif

#if OS_Q_EN > 0
void          OS_QInit                (void) reentrant;
#endif

void          OS_Sched                (void);

#if (OS_EVENT_NAME_SIZE > 1) || (OS_FLAG_NAME_SIZE > 1) || (OS_MEM_NAME_SIZE > 1) || (OS_TASK_NAME_SIZE > 1)||(OS_TMR_CFG_NAME_SIZE>1)
INT8U         OS_StrCopy              (INT8U           *pdest,
                                       INT8U           *psrc);

INT8U         OS_StrLen               (INT8U           *psrc);
#endif

void          OS_TaskIdle             (void            *p_arg);

#if OS_TASK_STAT_EN > 0
void          OS_TaskStat             (void            *p_arg);
#endif

#if (OS_TASK_STAT_STK_CHK_EN > 0) && (OS_TASK_CREATE_EXT_EN > 0)
void          OS_TaskStkClr           (OS_STK          *pbos,
                                       INT32U           size,
                                       INT16U           opt) reentrant;
#endif

#if (OS_TASK_STAT_STK_CHK_EN > 0) && (OS_TASK_CREATE_EXT_EN > 0)
void          OS_TaskStatStkChk       (void);
#endif

INT8U         OS_TCBInit              (INT8U            prio,
                                       OS_STK          *ptos,
                                       OS_STK          *pbos,
                                       INT16U           id,
                                       INT32U           stk_size,
                                       void            *pext,
                                       INT16U           opt);

#if OS_TMR_EN > 0
void          OSTmr_Init              (void) reentrant;
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                          FUNCTION PROTOTYPES
*                                      (Target Specific Functions)
*********************************************************************************************************
*/

#if OS_DEBUG_EN > 0
void          OSDebugInit             (void);
#endif

void          OSInitHookBegin         (void);
void          OSInitHookEnd           (void);

void          OSTaskCreateHook        (OS_TCB          *ptcb) reentrant;
void          OSTaskDelHook           (OS_TCB          *ptcb) reentrant;

void          OSTaskIdleHook          (void) reentrant;

void          OSTaskStatHook          (void) reentrant;
OS_STK       *OSTaskStkInit           (void           (*task)(void *p_arg),
                                       void            *p_arg,
                                       OS_STK          *ptos,
                                       INT16U           opt) reentrant;

#if OS_TASK_SW_HOOK_EN > 0
void          OSTaskSwHook            (void) reentrant;
#endif

void          OSTCBInitHook           (OS_TCB          *ptcb) reentrant;

#if OS_TIME_TICK_HOOK_EN > 0
void          OSTimeTickHook          (void) reentrant;
#endif

void        InitTimer0(void) reentrant;

/*$PAGE*/
/*
*********************************************************************************************************
*                                          FUNCTION PROTOTYPES
*                                   (Application Specific Functions)
*********************************************************************************************************
*/

#if OS_APP_HOOKS_EN > 0
void          App_TaskCreateHook      (OS_TCB          *ptcb);
void          App_TaskDelHook         (OS_TCB          *ptcb);
void          App_TaskIdleHook        (void);

void          App_TaskStatHook        (void);

#if OS_TASK_SW_HOOK_EN > 0
void          App_TaskSwHook          (void);
#endif

void          App_TCBInitHook         (OS_TCB          *ptcb);

#if OS_TIME_TICK_HOOK_EN > 0
void          App_TimeTickHook        (void);
#endif
#endif

/*
****************************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -