?? os-task-switch._h
字號:
//定義全局變量和marcos
#ifdef OS_GLOBALS
#define OS_EXT
#else
#define OS_EXT extern
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
/* TASK STATUS (Bit definition for OSTCBStat) */
#define OS_STAT_RDY 0x01 /* Ready to run */
/*
*********************************************************************************************************
* ERROR CODES
*********************************************************************************************************
*/
#define OS_NO_ERR 0
#define OSERR_PRIO_INVALID 1
#define OSERR_TCB_INVALID 2
#define OSERR_PRIO_EXIST 3
//定義task
typedef struct os_tcb {
OS_STK *OSTCBStkPtr; /* Pointer to current top of stack */
INT16U OSTCBDly; /* Nbr ticks to delay task or, timeout waiting for event */
INT8U OSTCBStat; /* Task status */
INT8U OSTCBPrio; /* Task priority (0 == highest, 63 == lowest) */
} OS_TCB;
void OSInit(void);
INT8U OSTaskCreate(OS_TCB *ptcb,void (*task)(void *pd), void *pdata, OS_STK *ptos,INT16U stk_size, INT8U prio);
OS_STK * OSTaskStkInit (void (*task)(void *pd),void *pdata, OS_STK *ptos, INT16U stk_size);
INT8U OSTCBInit(OS_TCB *ptcb,INT8U prio, OS_STK *ptos,INT16U stk_size);
/*return ready task*/
INT8U OSGetPrioRdy(void);
void OSSched(void);
void OSStart(void);
void OSTimeDly (INT16U ticks);
void OSStartHighRdy(void);
void OSCtxSw(void);
void OSIntCtxSw(void);
void OSDebug(INT8U v);
/* when something error,call OSError*/
#if OS_STRICT
void OSError(INT8U err);
#endif
/*task tcb pointers list*/
OS_EXT BOOLEAN OSRunning; /* Flag indicating that kernel is running */
#define OS_TASK_COUNT (OS_LOWEST_PRIO+1)
OS_EXT OS_TCB *OSpTCBList[OS_TASK_COUNT];
OS_EXT INT8U OSIntNesting; /* Interrupt nesting level */
OS_EXT INT8U OSLockNesting; /* Multitasking lock nesting level */
OS_EXT INT8U OSPrioCur; /* Priority of current task */
OS_EXT INT8U OSPrioHighRdy; /* Priority of highest priority task */
OS_EXT OS_TCB *OSTCBCur; /* Pointer to currently running TCB */
OS_EXT OS_TCB *OSTCBHighRdy; /* Pointer to highest priority TCB ready to run */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -