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

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

?? ucos51.h

?? C源代碼的實時操作系統
?? H
字號:
/*
*********************************************************************************************************
*                                                 uC/OS
*                                          The Real-Time Kernel
*                                           SYSTEM DECLARATIONS
*
*                        (c) Copyright 1992-1996, Jean J. Labrosse, Plantation, FL
*                                           All Rights Reserved
*
*                                                  V1.09
*
* File : UCOS_CL.H
* By   : Jean J. Labrosse
*       				Ported to the 8051 by 
*                                             Rene Voorberg
*                                           80c52 (Large Model)
*				   Using the COMPASS51 compiler from PLC
* july 1997
*********************************************************************************************************
*/

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

#ifdef  OS_GLOBALS
#define OS_EXT
#else
#define OS_EXT  extern
#endif

#define OS_PRIO_SELF           0xFF    /* Indicate SELF priority                                       */

/*
*********************************************************************************************************
*                                           uC/OS ERROR CODES
*********************************************************************************************************
*/

#define OS_NO_ERR                 0

#define OS_TIMEOUT               10
#define OS_TASK_NOT_EXIST        11

#define OS_MBOX_FULL             20
#define OS_MBOX_MSG_NOT_AVAIL    21

#define OS_Q_FULL                30
#define OS_Q_MSG_NOT_AVAIL       31

#define OS_PRIO_EXIST            40
#define OS_PRIO_ERR              41
#define OS_PRIO_INVALID          42

#define OS_SEM_ERR               50
#define OS_SEM_OVF               51
#define OS_SEM_NOT_AVAIL         52

#define OS_TASK_DEL_ERR          60
#define OS_TASK_DEL_IDLE         61
#define OS_TASK_DEL_REQ          62

#define OS_NO_MORE_TCB           70

#define OS_TIME_NOT_DLY          80

#define OS_TASK_SUSPEND_PRIO     90
#define OS_TASK_SUSPEND_IDLE     91

#define OS_TASK_RESUME_PRIO     100
#define OS_TASK_NOT_SUSPENDED   101
/*$PAGE*/
/*
*********************************************************************************************************
*                                          EVENT CONTROL BLOCK
*********************************************************************************************************
*/

//typedef
struct os_event {
        UBYTE  OSEventGrp;             /* Group corresponding to tasks waiting for event to occur      */
        UBYTE  OSEventTbl[8];          /* List of tasks waiting for event to occur                     */
        UWORD  OSEventCnt;             /* Count of used when event is a semaphore                      */
    far void  *OSEventPtr;             /* Pointer to message or queue structure                        */
}; 

typedef struct os_event OS_EVENT;


/*
*********************************************************************************************************
*                                        uC/OS TASK CONTROL BLOCK
*********************************************************************************************************
*/

//typedef 
struct os_tcb {
    far void          *OSTCBStkPtr;    /* Pointer to current top of stack                              */
        UBYTE          OSTCBStat;      /* Task status                                                  */
        UBYTE          OSTCBPrio;      /* Task priority (0 == highest, 63 == lowest)                   */
        UWORD          OSTCBDly;       /* Nbr ticks to delay task or, timeout waiting for event        */
        BOOLEAN        OSTCBDelReq;    /* Indicates whether a task needs to delete itself              */
        UBYTE          OSTCBX;         /* Bit position in group  corresponding to task priority (0..7) */
        UBYTE          OSTCBY;         /* Index into ready table corresponding to task priority        */
        UBYTE          OSTCBBitX;      /* Bit mask to access bit position in ready table               */
        UBYTE          OSTCBBitY;      /* Bit mask to access bit position in ready group               */
    far OS_EVENT      *OSTCBEventPtr;  /* Pointer to event control block                               */
    far void          *OSTCBMsg;       /* Message received from OSMboxPost() or OSQPost()              */
    far struct os_tcb *OSTCBNext;      /* Pointer to next     TCB in the TCB list                      */
    far struct os_tcb *OSTCBPrev;      /* Pointer to previous TCB in the TCB list                      */
};
typedef struct os_tcb OS_TCB;


/*
*********************************************************************************************************
*                                          QUEUE CONTROL BLOCK
*********************************************************************************************************
*/

//typedef 
struct os_q {
    far struct os_q   *OSQPtr;         /* Link to next queue control block in list of free blocks      */
    far void         **OSQStart;       /* Pointer to start of queue data                               */
    far void         **OSQEnd;         /* Pointer to end   of queue data                               */
    far void         **OSQIn;          /* Pointer to where next message will be inserted  in   the Q   */
    far void         **OSQOut;         /* Pointer to where next message will be extracted from the Q   */
        UBYTE          OSQSize;        /* Size of queue (maximum number of entries)                    */
        UBYTE          OSQEntries;     /* Current number of entries in the queue                       */
};
typedef struct os_q OS_Q;
/*$PAGE*/
/*
*********************************************************************************************************
*                                         uC/OS GLOBAL VARIABLES
*********************************************************************************************************
*/
                                           /* SYSTEM VARIABLES                                         */
OS_EXT  far UWORD         OSCtxSwCtr;      /* Counter of number of context switches                    */
OS_EXT  far ULONG         OSIdleCtr;       /* Idle counter                                             */
OS_EXT  near UBYTE        OSIntNesting;    /* Interrupt nesting level                                  */
OS_EXT  far BOOLEAN       OSRunning;       /* Flag indicating that kernel is running                   */

OS_EXT  far OS_TCB  * near OSTCBCur;        /* Pointer to currently running TCB                         */
OS_EXT  far OS_TCB  * near OSTCBHighRdy;    /* Pointer to highest priority TCB ready to run             */
//OS_EXT  far OS_TCB  * far  OSTCBCur;        /* Pointer to currently running TCB                         */
//OS_EXT  far OS_TCB  * far  OSTCBHighRdy;    /* Pointer to highest priority TCB ready to run             */

OS_EXT  far OS_TCB  * far OSTCBPrioTbl[64];/* Table of pointers to all created TCBs                    */

/*
*********************************************************************************************************
*                                       uC/OS FUNCTION PROTOTYPES
*********************************************************************************************************
*/
    void 	OSInit_Timer0(void);
    void        OSInit(void);

    void        OSStart(void);
    void        OSStartHighRdy(void);

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

    UBYTE       OSTaskCreate(void (*task)(far void *pd), far void *pdata, far void *pstk, UBYTE prio);
    UBYTE       OSTaskDel(UBYTE prio);
    UBYTE       OSTaskDelReq(UBYTE prio);
    UBYTE       OSTaskChangePrio(UBYTE oldprio, UBYTE newprio);
    UBYTE       OSTaskSuspend(UBYTE prio);
    UBYTE       OSTaskResume(UBYTE prio);
    UBYTE       OSTCBInit(UBYTE prio, far void *stk);

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

    void        OSCtxSw(void);
    void        OSTickISR(void);

    void        OSTimeDly(UWORD ticks);
    UBYTE       OSTimeDlyResume(UBYTE prio);
    void        OSTimeTick(void);
    void        OSTimeSet(ULONG ticks);
    ULONG       OSTimeGet(void);

far OS_EVENT   *OSSemCreate(UWORD value);
    UWORD       OSSemAccept(far OS_EVENT *pevent);
    UBYTE       OSSemPost(far OS_EVENT *pevent);
    void        OSSemPend(far OS_EVENT *pevent, UWORD timeout, UBYTE *err);

far OS_EVENT   *OSMboxCreate(far void *msg);
far void       *OSMboxAccept(far OS_EVENT *pevent);
    UBYTE       OSMboxPost(far OS_EVENT *pevent, far void *msg);
far void       *OSMboxPend(far OS_EVENT *pevent, UWORD timeout, UBYTE *err);

far OS_EVENT   *OSQCreate(far void **start, UBYTE size);
far void       *OSQAccept(far OS_EVENT *pevent);
    UBYTE       OSQPost(far OS_EVENT *pevent, far void *msg);
far void       *OSQPend(far OS_EVENT *pevent, UWORD timeout, UBYTE *err);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久久蜜香臀| 日韩欧美卡一卡二| 制服丝袜中文字幕一区| 国产喂奶挤奶一区二区三区| 亚洲三级久久久| 久久99久久久欧美国产| 一本到三区不卡视频| 日韩欧美的一区二区| 曰韩精品一区二区| 国产99久久精品| 欧美一级一区二区| 夜夜揉揉日日人人青青一国产精品 | 成人app网站| 欧美一区二区在线免费播放| 夜夜操天天操亚洲| 粉嫩13p一区二区三区| 欧美成人官网二区| 亚洲aaa精品| 欧美亚洲图片小说| 亚洲四区在线观看| eeuss影院一区二区三区| 欧美精品一区二区三区视频| 日韩精品视频网站| 欧美日韩精品福利| 亚洲一区二区三区四区在线| 成人一区二区三区视频| 国产视频一区二区在线观看| 久久99精品久久久| 日韩午夜精品视频| 捆绑紧缚一区二区三区视频| 欧美精品久久久久久久久老牛影院| 一区二区三区在线影院| 91视频在线看| 国产精品国产a级| 不卡一区二区中文字幕| 国产农村妇女毛片精品久久麻豆| 韩日av一区二区| 精品国产亚洲在线| 国产米奇在线777精品观看| 337p粉嫩大胆噜噜噜噜噜91av| 麻豆成人久久精品二区三区小说| 91精品国产黑色紧身裤美女| 日韩主播视频在线| 日韩免费观看2025年上映的电影| 日韩精品亚洲专区| 欧美v日韩v国产v| 精品一区二区三区免费视频| 精品999久久久| 国产91精品久久久久久久网曝门| 国产清纯美女被跳蛋高潮一区二区久久w| 久久国产精品区| 国产欧美一区二区在线观看| av网站一区二区三区| 一区二区三区在线观看视频 | 欧美理论片在线| 日韩国产欧美三级| 精品999久久久| eeuss国产一区二区三区| 一区二区三区精品在线观看| 91.成人天堂一区| 国产尤物一区二区| 亚洲乱码国产乱码精品精98午夜 | www.亚洲精品| 亚洲一区二区综合| 精品欧美一区二区在线观看| 成人深夜在线观看| 亚洲丰满少妇videoshd| wwwwxxxxx欧美| 91丨porny丨首页| 麻豆国产精品一区二区三区| 日本一区二区高清| 欧美系列亚洲系列| 国产一区二区久久| 一区二区三区日韩欧美| 亚洲精品在线观看视频| www.欧美精品一二区| 五月天欧美精品| 国产亚洲欧美一区在线观看| 欧美日韩免费在线视频| 国产福利不卡视频| 亚洲电影视频在线| 国产日韩欧美一区二区三区乱码| 欧美中文字幕一二三区视频| 国产呦精品一区二区三区网站 | 国产精品日韩成人| 欧美另类videos死尸| 波多野结衣亚洲| 日韩黄色免费电影| 亚洲四区在线观看| 国产欧美日韩亚州综合| 91精品婷婷国产综合久久| 成人国产精品免费观看| 精一区二区三区| 亚洲成人777| 一区二区三区日本| 国产精品久久久久久久久搜平片| 日韩三级高清在线| 欧美老肥妇做.爰bbww| 99这里都是精品| 国产成人一区二区精品非洲| 久久成人免费电影| 日韩电影在线免费看| 亚洲6080在线| 亚洲一区二区三区激情| 中文字幕日本不卡| 中文成人综合网| 久久久久久**毛片大全| 欧美成人三级在线| 欧美哺乳videos| 日韩欧美一区在线| 欧美一级日韩一级| 欧美一区午夜视频在线观看 | 99久久国产免费看| 成人免费的视频| 成人免费视频一区| 粉嫩av一区二区三区粉嫩| 国产高清视频一区| 国产成人在线免费| 成人一区二区三区在线观看| 成人国产精品免费网站| 福利电影一区二区三区| 国产成人精品一区二| 国产999精品久久| 国产成人亚洲综合色影视| 国产精品影视在线观看| 成熟亚洲日本毛茸茸凸凹| 国产91精品在线观看| 99久久久久久| 91精品福利在线| 欧美视频一区二区在线观看| 欧美日韩三级一区二区| 欧美二区乱c少妇| 精品国产伦一区二区三区免费 | 国产精品99久久久| 粉嫩aⅴ一区二区三区四区五区| av在线一区二区| 欧美综合色免费| 日韩一区二区三区高清免费看看| 欧美电影免费观看高清完整版在线 | 亚洲免费在线看| 亚洲一区二区不卡免费| 天天色天天操综合| 久久99热这里只有精品| 国产91丝袜在线播放九色| 91色在线porny| 欧美日韩五月天| 精品乱人伦小说| 日韩伦理免费电影| 婷婷中文字幕综合| 国产乱对白刺激视频不卡| 99在线精品一区二区三区| 欧美理论片在线| 国产欧美日韩在线| 亚洲国产精品久久不卡毛片| 国产一区二区三区四区在线观看| www.在线成人| 制服丝袜一区二区三区| 中文字幕成人在线观看| 亚洲成av人在线观看| 国产精品99久久久久久有的能看| 在线观看91精品国产入口| 日韩免费电影网站| 亚洲制服欧美中文字幕中文字幕| 国产一区视频导航| 欧美三级日韩三级| 中文字幕免费不卡| 麻豆成人在线观看| 91福利社在线观看| 国产欧美精品一区二区三区四区| 天天亚洲美女在线视频| 99久久精品免费精品国产| 日韩欧美在线网站| 亚洲一区二区视频| 国产精品系列在线播放| 欧美一级xxx| 亚洲不卡av一区二区三区| 成人理论电影网| 欧美r级电影在线观看| 亚洲国产精品一区二区久久恐怖片 | 国产精品区一区二区三| 免费成人在线影院| 欧美日韩免费电影| 亚洲免费观看高清完整版在线观看 | 亚洲综合一区二区精品导航| 豆国产96在线|亚洲| 久久综合久久99| 美女mm1313爽爽久久久蜜臀| 欧美日韩卡一卡二| 一个色综合网站| 色综合久久久久综合体| 国产精品嫩草影院com| 国产一区二区福利视频| 日韩精品一区二区三区三区免费 | 亚洲精品中文字幕乱码三区| 成人国产精品免费网站| 国产日韩亚洲欧美综合| 国产精品一区免费在线观看| 久久综合色综合88| 国内精品视频666| 久久噜噜亚洲综合|