亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ucos_ii.h

?? 新版本ucosii移植
?? H
?? 第 1 頁 / 共 2 頁
字號:
    INT8U          OSTCBStat;          /* Task status                                                  */
    INT8U          OSTCBPrio;          /* Task priority (0 == highest, 63 == lowest)                   */

    INT8U          OSTCBX;             /* Bit position in group  corresponding to task priority (0..7) */
    INT8U          OSTCBY;             /* Index into ready table corresponding to task priority        */
    INT8U          OSTCBBitX;          /* Bit mask to access bit position in ready table               */
    INT8U          OSTCBBitY;          /* Bit mask to access bit position in ready group               */
    
#if OS_TASK_DEL_EN    
    BOOLEAN        OSTCBDelReq;        /* Indicates whether a task needs to delete itself              */
#endif
} OS_TCB;

/*$PAGE*/
/*
*********************************************************************************************************
*                                            GLOBAL VARIABLES
*********************************************************************************************************
*/
                                       
OS_EXT  INT32U       OSCtxSwCtr;               /* Counter of number of context switches                */

#if     (OS_MAX_EVENTS >= 2)
OS_EXT  OS_EVENT    *OSEventFreeList;          /* Pointer to list of free EVENT control blocks         */
OS_EXT  OS_EVENT     OSEventTbl[OS_MAX_EVENTS];/* Table of EVENT control blocks                        */
#endif

OS_EXT  INT32U       OSIdleCtr;                /* Idle counter                                         */

#if     OS_TASK_STAT_EN
OS_EXT  INT8S        OSCPUUsage;               /* Percentage of CPU used                               */
OS_EXT  INT32U       OSIdleCtrMax;             /* Maximum value that idle counter can take in 1 sec.   */
OS_EXT  INT32U       OSIdleCtrRun;             /* Value reached by idle counter at run time in 1 sec.  */
OS_EXT  BOOLEAN      OSStatRdy;                /* Flag indicating that the statistic task is ready     */
#endif

OS_EXT  INT8U        OSIntNesting;             /* Interrupt nesting level                              */

OS_EXT  INT8U        OSLockNesting;            /* Multitasking lock nesting level                      */

OS_EXT idata INT8U   OSPrioCur;                /* Priority of current task                             */
OS_EXT idata INT8U   OSPrioHighRdy;            /* Priority of highest priority task                    */

OS_EXT  INT8U        OSRdyGrp;                        /* Ready list group                              */
OS_EXT  INT8U        OSRdyTbl[OS_RDY_TBL_SIZE];       /* Table of tasks which are ready to run         */

OS_EXT idata BOOLEAN  OSRunning;                       /* Flag indicating that kernel is running        */

#if     OS_TASK_CREATE_EN  || OS_TASK_CREATE_EXT_EN || OS_TASK_DEL_EN
OS_EXT  INT8U        OSTaskCtr;                       /* Number of tasks created                       */
#endif

OS_EXT idata OS_TCB   *OSTCBCur;                        /* Pointer to currently running TCB              */
OS_EXT  OS_TCB        *OSTCBFreeList;                   /* Pointer to list of free TCBs                  */
OS_EXT idata OS_TCB   *OSTCBHighRdy;                    /* Pointer to highest priority TCB ready to run  */
OS_EXT  OS_TCB        *OSTCBList;                       /* Pointer to doubly linked list of TCBs         */
OS_EXT  OS_TCB        *OSTCBPrioTbl[OS_LOWEST_PRIO + 1];/* Table of pointers to created TCBs             */

OS_EXT  INT32U       OSTime;                   /* Current value of system time (in ticks)              */


extern  INT8U const  OSMapTbl[];               /* Priority->Bit Mask lookup table                      */
extern  INT8U const  OSUnMapTbl[];             /* Priority->Index    lookup table                      */

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

/*
*********************************************************************************************************
*                                        MESSAGE MAILBOX MANAGEMENT
*********************************************************************************************************
*/
#if         OS_MBOX_EN
void       *OSMboxAccept(OS_EVENT *pevent) ;
OS_EVENT   *OSMboxCreate(void *msg) ;
void       *OSMboxPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) ;
INT8U       OSMboxPost(OS_EVENT *pevent, void *msg) ;
INT8U       OSMboxQuery(OS_EVENT *pevent, OS_MBOX_DATA *ppdata) ;
#endif
/*
*********************************************************************************************************
*                                           MEMORY MANAGEMENT
*********************************************************************************************************
*/
#if         OS_MEM_EN && (OS_MAX_MEM_PART >= 2)
OS_MEM     *OSMemCreate(void *addr, INT32U nblks, INT32U blksize, INT8U *err) ;
void       *OSMemGet(OS_MEM *pmem, INT8U *err) ;
INT8U       OSMemPut(OS_MEM *pmem, void *pblk) ;
INT8U       OSMemQuery(OS_MEM *pmem, OS_MEM_DATA *ppdata) ;
#endif
/*
*********************************************************************************************************
*                                         MESSAGE QUEUE MANAGEMENT
*********************************************************************************************************
*/
#if         OS_Q_EN && (OS_MAX_QS >= 2)
void       *OSQAccept(OS_EVENT *pevent) ;
OS_EVENT   *OSQCreate(void **start, INT16U size) ;
INT8U       OSQFlush(OS_EVENT *pevent) ;
void       *OSQPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) ;
INT8U       OSQPost(OS_EVENT *pevent, void *msg) ;
INT8U       OSQPostFront(OS_EVENT *pevent, void *msg) ;
INT8U       OSQQuery(OS_EVENT *pevent, OS_Q_DATA *ppdata) ;
#endif
/*$PAGE*/
/*
*********************************************************************************************************
*                                          SEMAPHORE MANAGEMENT
*********************************************************************************************************
*/
#if         OS_SEM_EN
INT16U      OSSemAccept(OS_EVENT *pevent) ;
OS_EVENT   *OSSemCreate(INT16U value) ;
void        OSSemPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) ;
INT8U       OSSemPost(OS_EVENT *pevent) ;
INT8U       OSSemQuery(OS_EVENT *pevent, OS_SEM_DATA *ppdata) ;
#endif
/*
*********************************************************************************************************
*                                            TASK MANAGEMENT
*********************************************************************************************************
*/
#if         OS_TASK_CHANGE_PRIO_EN
INT8U       OSTaskChangePrio(INT8U oldprio, INT8U newprio) ;
#endif

INT8U       OSTaskCreate(void (*task)(void *pd), void *ppdata, OS_STK *ptos, INT8U prio) ;

#if         OS_TASK_CREATE_EXT_EN
INT8U       OSTaskCreateExt(void  (*task)(void *pd), 
                            void   *ppdata, 
                            OS_STK *ptos, 
                            INT8U   prio,
                            INT16U  id,
                            OS_STK *pbos,
                            INT32U  stk_size,
                            void   *pext,
                            INT16U  opt) ;
#endif                            

#if         OS_TASK_DEL_EN
INT8U       OSTaskDel(INT8U prio) ;
INT8U       OSTaskDelReq(INT8U prio) ;
#endif

#if         OS_TASK_SUSPEND_EN
INT8U       OSTaskResume(INT8U prio) ;
INT8U       OSTaskSuspend(INT8U prio) ;
#endif

#if         OS_TASK_CREATE_EXT_EN
INT8U       OSTaskStkChk(INT8U prio, OS_STK_DATA *ppdata) ;
#endif

INT8U       OSTaskQuery(INT8U prio, OS_TCB *ppdata) ;

/*
*********************************************************************************************************
*                                            TIME MANAGEMENT
*********************************************************************************************************
*/
void        OSTimeDly(INT16U ticks) ;
INT8U       OSTimeDlyHMSM(INT8U hours, INT8U minutes, INT8U seconds, INT16U milli) ;
INT8U       OSTimeDlyResume(INT8U prio) ;
INT32U      OSTimeGet(void) ;
void        OSTimeSet(INT32U ticks) ;
void        OSTimeTick(void) ;

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

void        OSInit(void) ;

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

void        OSSchedLock(void) ;
void        OSSchedUnlock(void) ;

void        OSStart(void) ;

void        OSStatInit(void) ;

INT16U      OSVersion(void) ;

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

#if         OS_MBOX_EN || OS_Q_EN || OS_SEM_EN
void        OSEventTaskRdy(OS_EVENT *pevent, void *msg, INT8U msk) ;
void        OSEventTaskWait(OS_EVENT *pevent) ;
void        OSEventTO(OS_EVENT *pevent) ;
void        OSEventWaitListInit(OS_EVENT *pevent) ;
#endif

#if         OS_MEM_EN && (OS_MAX_MEM_PART >= 2)
void        OSMemInit(void) ;
#endif

#if         OS_Q_EN
void        OSQInit(void) ;
#endif

void        OSSched(void) ;

void        OSTaskIdle(void *ddata) ;

#if         OS_TASK_STAT_EN
void        OSTaskStat(void *ddata) ;
#endif

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

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

void        OSCtxSw(void);

void        OSIntCtxSw(void);

void        OSStartHighRdy(void);

void        OSTaskCreateHook(OS_TCB *ptcb) ;
void        OSTaskDelHook(OS_TCB *ptcb) ;
void        OSTaskStatHook(void) ;
void       *OSTaskStkInit(void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt) ;
void        OSTaskSwHook(void) ;

void        OSTickISR(void);

void        OSTimeTickHook(void) ;

//Hard timer
void        InitTimer0(void) ;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影在线不卡| 午夜精品久久久久久久| 色欲综合视频天天天| 香蕉久久一区二区不卡无毒影院| 精品国产乱码久久久久久浪潮| 成人免费视频一区| 免费成人美女在线观看| 亚洲欧洲国产日韩| 日韩欧美二区三区| 欧美性色黄大片手机版| 粉嫩aⅴ一区二区三区四区五区 | 91免费在线播放| 美女视频第一区二区三区免费观看网站| 国产精品电影院| 欧美成人三级电影在线| 欧洲精品一区二区| 成人黄色免费短视频| 精品一区二区三区在线播放 | 欧美色网一区二区| 成人动漫视频在线| 久色婷婷小香蕉久久| 亚洲一区二区三区免费视频| 日本一二三不卡| 精品播放一区二区| 欧美一区二区福利在线| 欧美视频一区二| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 色94色欧美sute亚洲线路二| 高清在线成人网| 国产真实乱对白精彩久久| 亚洲高清免费观看 | 精品福利一区二区三区免费视频| 在线观看日韩精品| 91天堂素人约啪| 99久久精品国产毛片| 国产91色综合久久免费分享| 极品销魂美女一区二区三区| 奇米影视一区二区三区小说| 亚洲18影院在线观看| 亚洲成人一区在线| 午夜亚洲福利老司机| 偷拍一区二区三区四区| 日韩激情一区二区| 日本欧美一区二区在线观看| 日韩专区中文字幕一区二区| 日韩精品一二三四| 日韩高清一区在线| 青娱乐精品在线视频| 久久成人免费日本黄色| 精品一区二区精品| 国产精品一级二级三级| 成人免费视频app| a4yy欧美一区二区三区| 91美女在线视频| 欧美亚洲精品一区| 欧美伦理影视网| 欧美一区二区三区在线观看| 欧美电影免费观看完整版| 精品国产百合女同互慰| 久久久国产午夜精品| 国产精品乱码一区二三区小蝌蚪| 国产精品人人做人人爽人人添 | 日韩av不卡在线观看| 欧美aaa在线| 国产一区二区调教| 成人在线视频一区| 91亚洲国产成人精品一区二三| 91免费国产在线| 欧美精品三级在线观看| 日韩免费视频一区| 国产精品美女久久久久aⅴ| 中文字幕一区二区日韩精品绯色| 一区av在线播放| 日韩av在线播放中文字幕| 国产又粗又猛又爽又黄91精品| 成人三级伦理片| 欧美日韩免费不卡视频一区二区三区| 欧美一区二区三区在| 欧美精品一区二区三区蜜桃| 亚洲欧洲国产日本综合| 青青草91视频| av在线播放一区二区三区| 欧美日韩国产综合久久 | 国产精品二三区| 亚洲福利一二三区| 国产伦理精品不卡| 一本色道久久综合狠狠躁的推荐 | 日韩精品国产欧美| 国产经典欧美精品| 欧美亚洲国产一区在线观看网站| 精品国产免费一区二区三区四区| 自拍偷在线精品自拍偷无码专区| 日韩精彩视频在线观看| 成人黄色大片在线观看| 欧美精品三级日韩久久| 国产精品国产三级国产普通话三级 | 亚洲人成小说网站色在线| 三级在线观看一区二区| 成年人网站91| 精品剧情v国产在线观看在线| 18涩涩午夜精品.www| 久久草av在线| 欧美日本韩国一区| 国产精品第一页第二页第三页| 欧美aaaaa成人免费观看视频| 97精品久久久久中文字幕| 精品免费视频.| 天堂精品中文字幕在线| 91蜜桃免费观看视频| 久久久久久综合| 美美哒免费高清在线观看视频一区二区 | 国产喷白浆一区二区三区| 亚洲午夜久久久久久久久电影网 | 在线观看视频一区二区 | 日韩—二三区免费观看av| 99re这里都是精品| 久久新电视剧免费观看| 亚洲成a天堂v人片| 在线日韩av片| 亚洲视频你懂的| av中文字幕一区| 久久精品亚洲精品国产欧美| 蜜桃av一区二区| 欧美一区二区三区视频在线观看 | 亚洲欧美综合在线精品| 久久99精品久久久久久国产越南 | 欧美日韩精品系列| 一级特黄大欧美久久久| 99久久99久久久精品齐齐| 国产欧美日韩三级| 国产精品一区二区久久不卡 | 在线观看三级视频欧美| ...中文天堂在线一区| 懂色av一区二区三区蜜臀| 久久免费美女视频| 精品亚洲欧美一区| 精品国产一区a| 国产在线视频精品一区| 精品99一区二区| 久久国产精品第一页| 日韩欧美成人激情| 久久99精品视频| 久久亚洲精精品中文字幕早川悠里 | 在线观看亚洲一区| 亚洲制服欧美中文字幕中文字幕| www.亚洲人| 亚洲女同一区二区| 91精品福利视频| 亚洲午夜一区二区| 欧美一级国产精品| 蜜臀av一区二区在线观看| 日韩精品资源二区在线| 激情久久久久久久久久久久久久久久| 精品国产一区二区三区久久影院 | 欧美精品一区二区蜜臀亚洲| 国产专区综合网| 国产片一区二区三区| av一二三不卡影片| 依依成人精品视频| 91精品国产乱| 国产suv精品一区二区883| 国产欧美日韩另类视频免费观看| 成人激情av网| 亚洲一区视频在线观看视频| 3d动漫精品啪啪1区2区免费 | 亚洲电影激情视频网站| 日韩欧美卡一卡二| 国产不卡视频一区| 亚洲免费av观看| 3atv在线一区二区三区| 国产白丝精品91爽爽久久| 一区二区三区在线视频观看58 | www久久精品| 91丝袜美女网| 日本欧美一区二区| 国产欧美综合在线| 欧美探花视频资源| 国产一区二区三区免费观看| 亚洲色图色小说| 日韩一区二区影院| 99久久精品免费精品国产| 日韩成人dvd| 亚洲欧洲三级电影| 日韩美女一区二区三区| 97精品国产97久久久久久久久久久久| 日韩精品一区第一页| 国产精品初高中害羞小美女文 | 国产精品久久一卡二卡| 欧美日韩在线电影| 国产福利不卡视频| 亚洲va韩国va欧美va精品| 久久久国产精品午夜一区ai换脸| 91精品1区2区| 国产精品996| 日韩精品一级中文字幕精品视频免费观看 | 香蕉乱码成人久久天堂爱免费| 国产三级精品三级| 制服丝袜成人动漫| 91麻豆免费看| 国产一区二区伦理片|