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

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

?? ucos.h

?? ucos 在 Intel 196 單片機上的移植
?? H
字號:
/*
******************************************************************************
*                                  uCOS
*           Microcomputer Real-Time Multitasking Operating System
*                           SYSTEM DECLARATIONS
*
*        (c) Copyright 1992, Jean J. Labrosse, Plantation, FL
*                       All Rights Reserved
*
*
* File : UCOS.H
* By   : Jean J. Labrosse
******************************************************************************
*/
#include    "ucoscfg.h"                /* Aplication specific configuration */
/*
******************************************************************************
*                              uCOS CONFIGURATION
******************************************************************************
*/

#define OS_MAX_TASKS  20    /* Maximum number of tasks in your application   */
#define OS_MAX_EVENTS 15 /*Max # of event control blocks in your application */
#define OS_MAX_QS     1  /*Max # of queue control blocks in your application */

#define OS_IDLE_TASK_STK_SIZE  200          /* Idle task stack size (BYTEs) */

#define OS_USE_ACK 1 /* Can be used with OSMboxPend or OSEventPend to force 
                        a mail message ack by using OSMailAck */
#define OS_DONT_USE_ACK 0
#define NULL 0

/*
******************************************************************************
*                              uCOS ERROR CODES
******************************************************************************
*/

#define OS_NO_ERR            0         /* ERROR CODES */
#define OS_TIMEOUT          10
#define OS_MBOX_FULL        20
#define OS_Q_FULL           30
#define OS_PRIO_EXIST       40
#define OS_PRIO_ERR         41
#define OS_SEM_ERR          50
#define OS_SEM_OVF          51
#define OS_TASK_DEL_ERR     60
#define OS_TASK_DEL_IDLE    61
#define OS_NO_MORE_TCB      70

/*$PAGE*/
/*
******************************************************************************
*                             EVENT CONTROL BLOCK
******************************************************************************
*/

typedef struct os_event {
    BYTE  OSEventGrp;/*Group corresponding to tasks waiting for event to occur*/
    BYTE  OSEventTbl[8];         /* List of tasks waiting for event to occur */
    SWORD OSEventCnt;             /* Count of used when event is a semaphore */
    void  *OSEventPtr;              /* Pointer to message or queue structure */
    BYTE  OSMailFullLink; /* Links the sender of mail with the mailbox to be
                                               awakened when mailbox not full*/
    BYTE  OSMailAckLink; /* Links the sender of mail with the mailbox for ack
                                                    so messages dont overrun */
} OS_EVENT;


/*
******************************************************************************
*                          uCOS TASK CONTROL BLOCK
******************************************************************************
*/

typedef struct os_tcb {
    void * OSTCBStkPtr;                   /* Pointer to current top of stack */
    BYTE OSTCBStat;                                           /* Task status */
    BYTE OSTCBPrio;            /* Task priority (0 == highest, 63 == lowest) */
    WORD OSTCBDly;  /* Nbr ticks to delay task or, timeout waiting for event */
    BYTE OSTCBX; /* Bit position in group  corresponding to task priority (0..7) */
    BYTE OSTCBY;    /* Index into ready table corresponding to task priority */
    BYTE OSTCBBitX;        /* Bit mask to access bit position in ready table */
    BYTE OSTCBBitY;        /* Bit mask to access bit position in ready group */
    OS_EVENT *OSTCBEventPtr;               /* Pointer to event control block */
    OS_EVENT *OSTCBEvent2Ptr;/*T/R*//* Pointer to event control block used for multi events */
    struct os_tcb *OSTCBNext;     /* Pointer to next     TCB in the TCB list */
    struct os_tcb *OSTCBPrev;     /* Pointer to previous TCB in the TCB list */
} OS_TCB;


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

typedef struct os_q {
    struct os_q *OSQPtr; /* Link to next queue control block in list of free blocks */
    void **OSQStart;  /* Pointer to start of queue data */
    void **OSQEnd;    /* Pointer to end   of queue data */
    void **OSQIn;     /* Pointer to where next message will be inserted in the Q */
    void **OSQOut;    /* Pointer to where next message will be extracted from the Q */
    BYTE OSQSize;     /* Size of queue (maximum number of entries) */
    BYTE OSQEntries;  /* Current number of entries in the queue */
} OS_Q;

/*$PAGE*/
/*
******************************************************************************
*                            uCOS GLOBAL VARIABLES
******************************************************************************
*/

                                 /* SYSTEM VARIABLES */
#if USE_DEBUG
extern WORD     OSCtxSwCtr;      /* Counter of number of context switches */
extern LONG     OSIdleCtr;       /* Idle counter */
#endif /*USE_DEBUG*/
extern BOOLEAN   OSRunning;      /* Flag indicating that kernel is running */
extern OS_TCB   *OSTCBCur;       /* Pointer to currently running TCB */
extern OS_TCB   *OSTCBHighRdy;   /* Pointer to highest priority TCB ready to run */
extern OS_TCB   *OSTCBPrioTbl[]; /* Table of pointers to all created TCBs */

/*
******************************************************************************
*                          uCOS FUNCTION PROTOTYPES
******************************************************************************
*/

void OSInit(void);
void OSStart(void);
void OSStartHighRdy(void);
void OSSched(void);
void OSSchedLock(void);
void OSSchedUnlock(void);
BYTE OSTCBInit(BYTE p, void  *stk);

BYTE OSTaskCreate(void ( *task)(void *pd), void *pdata, void *pstk, BYTE prio);
BYTE OSTaskDel(BYTE p);

#if USE_CHG_PRIORITY
BYTE OSTaskChangePrio(BYTE oldp, BYTE newp);
#endif /*USE_CHG_PRIORITY*/

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

void OSIntCtxSw(void);
void OSCtxSw(void);

void OSTimeDly(WORD ticks);
void OSTimeTick(void);
void OSTimeSet(LONG ticks);
LONG OSTimeGet(void);

#if USE_SEMA
OS_EVENT *OSSemCreate(SWORD value);
BYTE OSSemPost(OS_EVENT *pevent);
void OSSemPend(OS_EVENT *pevent, WORD timeout, BYTE *err);
void OSSetSema(OS_EVENT *pevent, SWORD value);/*T/R*/
#endif /*USE_SEMA*/

#if USE_MAIL
OS_EVENT *OSMboxCreate(void *msg);
/* This CAN NOT be used from an ISR */
void OSMboxPost(OS_EVENT *pmail, void *msg, BYTE p, BYTE useAck);
/* pmail is pointer to mailbox */
/* msg is pointer to message to be sent */
/* p is priority of the sender ( this is only used when using ack ) */
/* useAck is to indicate the use of acking a mail message */
/*BYTE OSMboxPost(OS_EVENT *pevent, void *msg);*/
void *OSMboxPend(OS_EVENT *pevent, WORD timeout, BYTE *err);
void *OSMboxAccept(OS_EVENT *pmail);
void OSMailAck(OS_EVENT *pmail);/*T/R*/
#endif /*USE_MAIL*/

#if USE_QUEUE
OS_EVENT *OSQCreate(void **start, BYTE size);
BYTE OSQPost(OS_EVENT *pevent, void *msg);
void *OSQPend(OS_EVENT *pevent, WORD timeout, BYTE *err);
#endif /*USE_QUEUE*/

#if USE_MULTI_EVENTS
void *OSEventPend(OS_EVENT *psema,OS_EVENT *pmail,WORD timeout,BYTE *err);/*T/R*/
#endif /*USE_MULTI_EVENTS*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级生活片| 91在线精品秘密一区二区| |精品福利一区二区三区| 精品国产3级a| 久久一夜天堂av一区二区三区| 欧美一级片在线| 91精品国产综合久久久久久久| 欧美体内she精高潮| 欧美亚洲国产bt| 8x福利精品第一导航| 欧美高清视频一二三区 | 91视频国产资源| 成人免费视频app| 成人免费av在线| 99r精品视频| 欧美日韩免费观看一区三区| 欧美精品一级二级三级| 日韩一级免费一区| 久久香蕉国产线看观看99| 久久精品一区蜜桃臀影院| 欧美国产精品专区| 亚洲国产日产av| 免费在线视频一区| 成人高清视频在线| 欧美天堂亚洲电影院在线播放 | 国产一区二区三区黄视频| 国产成人免费视频网站 | 岛国av在线一区| 日本电影欧美片| 日韩欧美不卡在线观看视频| 中文字幕欧美日本乱码一线二线| 综合久久久久综合| 水蜜桃久久夜色精品一区的特点| 精彩视频一区二区| 91片黄在线观看| 日韩美女主播在线视频一区二区三区| 久久久亚洲综合| 洋洋成人永久网站入口| 国产自产v一区二区三区c| 色婷婷综合中文久久一本| 精品久久久久香蕉网| 一区二区三区四区亚洲| 久久精品国产亚洲一区二区三区| 99视频一区二区三区| 日韩午夜在线观看视频| 亚洲女人的天堂| 国产suv精品一区二区三区| 欧美色图一区二区三区| 久久精品人人做| 日韩精品电影一区亚洲| 色婷婷综合激情| 国产蜜臀97一区二区三区| 秋霞国产午夜精品免费视频| heyzo一本久久综合| 精品国产电影一区二区| 午夜不卡av在线| 91免费小视频| 国产精品色一区二区三区| 国产一区视频网站| 精品国产一区二区精华| 丝袜a∨在线一区二区三区不卡| 99麻豆久久久国产精品免费| 久久女同精品一区二区| 免费观看在线色综合| 欧美日韩国产综合草草| 一区二区在线观看视频| 99精品视频在线观看| 中文子幕无线码一区tr| 国产1区2区3区精品美女| 欧美精品一区二区三区在线| 男男视频亚洲欧美| 欧美一区二区在线视频| 午夜激情一区二区三区| 欧美群妇大交群的观看方式| 午夜亚洲福利老司机| 欧美午夜视频网站| 亚洲高清免费一级二级三级| 欧美日韩免费高清一区色橹橹| 亚洲综合在线免费观看| 色综合夜色一区| 一区二区三区av电影| 在线日韩国产精品| 一区二区欧美精品| 欧美色网一区二区| 免费在线看一区| 久久蜜桃香蕉精品一区二区三区| 韩国欧美国产1区| 国产精品理论片在线观看| 99这里只有精品| 亚洲一二三四在线观看| 欧美一区二区免费观在线| 精品无人码麻豆乱码1区2区| 国产色产综合产在线视频| 99久久99久久综合| 亚洲国产成人av网| 欧美成人r级一区二区三区| 国产一区二区在线看| 国产精品私房写真福利视频| 色婷婷国产精品| 首页国产欧美日韩丝袜| 久久你懂得1024| 色中色一区二区| 久久激情五月激情| 中文字幕一区视频| 宅男噜噜噜66一区二区66| 国产成人自拍网| 亚洲一区二区三区四区的| 欧美一区2区视频在线观看| 国产精品69久久久久水密桃| 亚洲一区av在线| 久久久久国产精品免费免费搜索| av在线不卡电影| 精彩视频一区二区三区| 亚洲精选一二三| 久久久蜜桃精品| 欧美日韩成人在线| 成人网男人的天堂| 婷婷综合在线观看| 久久久精品综合| 欧美老肥妇做.爰bbww视频| 粉嫩av一区二区三区在线播放 | 国产黄色精品视频| 亚洲一区二区三区四区五区黄| 久久久久久一二三区| 欧美日韩精品三区| 99re这里只有精品首页| 国内精品免费**视频| 日韩vs国产vs欧美| 亚洲欧美偷拍卡通变态| 国产午夜三级一区二区三| 精品视频一区二区三区免费| jizz一区二区| 国产激情视频一区二区在线观看| 免费成人在线视频观看| 亚洲女同女同女同女同女同69| 久久中文字幕电影| 日韩欧美亚洲一区二区| 欧美午夜精品理论片a级按摩| 成人一二三区视频| 国产精品18久久久久| 免费观看日韩电影| 天天综合网天天综合色| 亚洲影视资源网| 亚洲狠狠丁香婷婷综合久久久| 欧美韩国一区二区| 国产色综合一区| 久久九九99视频| 国产黄色精品视频| 视频一区欧美精品| 亚洲成人自拍偷拍| 亚洲成a人在线观看| 亚洲夂夂婷婷色拍ww47| 玉足女爽爽91| 亚洲国产三级在线| 亚洲妇女屁股眼交7| 亚洲成人午夜影院| 偷窥少妇高潮呻吟av久久免费 | 精品国产乱码久久久久久久久 | 欧美综合一区二区三区| 99v久久综合狠狠综合久久| 97精品久久久久中文字幕| 91网站最新网址| 色婷婷亚洲精品| 欧美日韩在线免费视频| 欧美二区乱c少妇| 日韩精品专区在线| 久久婷婷综合激情| 欧美激情在线一区二区| 国产精品成人午夜| 亚洲综合激情小说| 日本女人一区二区三区| 国内精品久久久久影院色| 懂色av一区二区三区免费观看 | 欧美欧美欧美欧美| 欧美电影免费观看高清完整版| wwwwxxxxx欧美| 国产精品萝li| 性欧美疯狂xxxxbbbb| 精品一区二区三区免费播放| 高清国产午夜精品久久久久久| 91性感美女视频| 91精品视频网| 国产欧美日产一区| 亚洲国产中文字幕| 国产一区二区三区免费在线观看 | 欧美午夜片在线观看| 精品欧美乱码久久久久久1区2区| 国产亚洲综合色| 亚洲黄网站在线观看| 美女高潮久久久| 91片黄在线观看| www亚洲一区| 午夜a成v人精品| 成人精品国产一区二区4080| 欧美三级资源在线| 国产午夜精品久久久久久久| 舔着乳尖日韩一区| 91视频观看视频| 国产视频一区二区三区在线观看| 亚洲午夜久久久久久久久电影院 |