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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? test.c

?? uCOS在PC機(jī)(至少386上)的4個(gè)范例
?? C
?? 第 1 頁 / 共 2 頁
字號:

/*$PAGE*/
/*
*********************************************************************************************************
*                                             CREATE TASKS
*********************************************************************************************************
*/

static  void  TaskStartCreateTasks (void)
{
    OSTaskCreateExt(TaskClk,
                   (void *)0,
                   &TaskClkStk[TASK_STK_SIZE - 1],
                   TASK_CLK_PRIO,
                   TASK_CLK_ID,
                   &TaskClkStk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task1,
                   (void *)0,
                   &Task1Stk[TASK_STK_SIZE - 1],
                   TASK_1_PRIO,
                   TASK_1_ID,
                   &Task1Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task2,
                   (void *)0,
                   &Task2Stk[TASK_STK_SIZE - 1],
                   TASK_2_PRIO,
                   TASK_2_ID,
                   &Task2Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task3,
                   (void *)0,
                   &Task3Stk[TASK_STK_SIZE - 1],
                   TASK_3_PRIO,
                   TASK_3_ID,
                   &Task3Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task4,
                   (void *)0,
                   &Task4Stk[TASK_STK_SIZE-1],
                   TASK_4_PRIO,
                   TASK_4_ID,
                   &Task4Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task5,
                   (void *)0,
                   &Task5Stk[TASK_STK_SIZE-1],
                   TASK_5_PRIO,
                   TASK_5_ID,
                   &Task5Stk[0],
                   TASK_STK_SIZE,
                   (void *)0,
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                               TASK #1
*
* Description: This task executes every 100 mS and measures the time it task to perform stack checking
*              for each of the 5 application tasks.  Also, this task displays the statistics related to
*              each task's stack usage.
*********************************************************************************************************
*/

void  Task1 (void *pdata)
{
    INT8U       err;
    OS_STK_DATA data;                       /* Storage for task stack data                             */
    INT16U      time;                       /* Execution time (in uS)                                  */
    INT8U       i;
    char        s[80];


    pdata = pdata;
    for (;;) {
        for (i = 0; i < 7; i++) {
            PC_ElapsedStart();
            err  = OSTaskStkChk(TASK_START_PRIO + i, &data);
            time = PC_ElapsedStop();
            if (err == OS_NO_ERR) {
                sprintf(s, "%4ld        %4ld        %4ld        %6d",
                        data.OSFree + data.OSUsed,
                        data.OSFree,
                        data.OSUsed,
                        time);
                PC_DispStr(19, 12 + i, s, DISP_FGND_BLACK + DISP_BGND_LIGHT_GRAY);
            }
        }
        OSTimeDlyHMSM(0, 0, 0, 100);                       /* Delay for 100 mS                         */
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                               TASK #2
*
* Description: This task displays a clockwise rotating wheel on the screen.
*********************************************************************************************************
*/

void  Task2 (void *data)
{
    data = data;
    for (;;) {
        PC_DispChar(70, 15, '|',  DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(10);
        PC_DispChar(70, 15, '/',  DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(10);
        PC_DispChar(70, 15, '-',  DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(10);
        PC_DispChar(70, 15, '\\', DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(10);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                               TASK #3
*
* Description: This task displays a counter-clockwise rotating wheel on the screen.
*
* Note(s)    : I allocated 500 bytes of storage on the stack to artificially 'eat' up stack space.
*********************************************************************************************************
*/

void  Task3 (void *data)
{
    char    dummy[500];
    INT16U  i;


    data = data;
    for (i = 0; i < 499; i++) {        /* Use up the stack with 'junk'                                 */
        dummy[i] = '?';
    }
    for (;;) {
        PC_DispChar(70, 16, '|',  DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(20);
        PC_DispChar(70, 16, '\\', DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(20);
        PC_DispChar(70, 16, '-',  DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(20);
        PC_DispChar(70, 16, '/',  DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(20);
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                               TASK #4
*
* Description: This task sends a message to Task #5.  The message consist of a character that needs to
*              be displayed by Task #5.  This task then waits for an acknowledgement from Task #5
*              indicating that the message has been displayed.
*********************************************************************************************************
*/

void  Task4 (void *data)
{
    char   txmsg;
    INT8U  err;


    data  = data;
    txmsg = 'A';
    for (;;) {
        OSMboxPost(TxMbox, (void *)&txmsg);      /* Send message to Task #5                            */
        OSMboxPend(AckMbox, 0, &err);            /* Wait for acknowledgement from Task #5              */
        txmsg++;                                 /* Next message to send                               */
        if (txmsg == 'Z') {
            txmsg = 'A';                         /* Start new series of messages                       */
        }
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                               TASK #5
*
* Description: This task displays messages sent by Task #4.  When the message is displayed, Task #5
*              acknowledges Task #4.
*********************************************************************************************************
*/

void  Task5 (void *data)
{
    char  *rxmsg;
    INT8U  err;


    data = data;
    for (;;) {
        rxmsg = (char *)OSMboxPend(TxMbox, 0, &err);                  /* Wait for message from Task #4 */
        PC_DispChar(70, 18, *rxmsg, DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDlyHMSM(0, 0, 1, 0);                                    /* Wait 1 second                 */
        OSMboxPost(AckMbox, (void *)1);                               /* Acknowledge reception of msg  */
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                               CLOCK TASK
*********************************************************************************************************
*/

void  TaskClk (void *data)
{
    char s[40];


    data = data;
    for (;;) {
        PC_GetDateTime(s);
        PC_DispStr(60, 23, s, DISP_FGND_YELLOW + DISP_BGND_BLUE);
        OSTimeDly(OS_TICKS_PER_SEC);
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内成人免费视频| 亚洲视频一区在线| 日韩电影免费在线看| 91玉足脚交白嫩脚丫在线播放| 日韩视频在线你懂得| 亚洲国产精品一区二区久久恐怖片 | 欧美三级电影在线看| 国产精品久久一卡二卡| 精品亚洲成a人在线观看| 91精品国产综合久久国产大片 | 久久精品日产第一区二区三区高清版 | 国产高清无密码一区二区三区| 日韩视频一区二区在线观看| 午夜激情综合网| 欧美视频你懂的| 亚洲一区二区综合| 欧美三级日韩在线| 日韩电影在线一区二区三区| 欧美福利视频导航| 毛片av中文字幕一区二区| 色欲综合视频天天天| 一区二区高清免费观看影视大全| 91在线观看视频| 亚洲国产另类精品专区| 欧美美女直播网站| 日韩激情av在线| 精品国产污污免费网站入口| 国产成人午夜视频| 国产精品高潮呻吟| 欧洲一区在线观看| 香蕉久久夜色精品国产使用方法 | 欧美麻豆精品久久久久久| 欧美一级夜夜爽| 久久国产尿小便嘘嘘| 欧美成人r级一区二区三区| 成人精品免费看| 午夜不卡av在线| 国产色产综合产在线视频| 在线观看国产精品网站| 国产乱一区二区| 亚洲v精品v日韩v欧美v专区| 久久综合九色综合97婷婷| 一本大道久久a久久精品综合| 日本在线不卡视频一二三区| 国产精品女上位| 日韩午夜精品电影| 91精品1区2区| 国产成人h网站| 青青草伊人久久| 一区二区三区在线观看动漫| 久久色中文字幕| 666欧美在线视频| 日本乱码高清不卡字幕| 国产福利一区二区三区| 全部av―极品视觉盛宴亚洲| 亚洲日本护士毛茸茸| 亚洲精品在线三区| 日韩丝袜美女视频| 在线电影国产精品| 精品视频在线免费观看| 91麻豆产精品久久久久久| 国产成人午夜高潮毛片| 麻豆精品国产传媒mv男同| 亚洲一二三级电影| 亚洲免费在线看| 亚洲天堂久久久久久久| 欧美韩国日本不卡| 国产亚洲一区字幕| 欧美videofree性高清杂交| 欧美日韩亚洲高清一区二区| 91在线播放网址| 99在线热播精品免费| 国产精品18久久久久久久网站| 麻豆一区二区三| 强制捆绑调教一区二区| 视频一区在线视频| 亚洲一二三专区| 亚洲成在人线在线播放| 亚洲成va人在线观看| 一区二区三区视频在线观看| 一区二区三区四区精品在线视频| 亚洲天堂a在线| 亚洲精品v日韩精品| 一级日本不卡的影视| 亚洲大片在线观看| 日本在线观看不卡视频| 毛片av中文字幕一区二区| 老司机免费视频一区二区| 极品尤物av久久免费看| 国产乱子伦视频一区二区三区| 国产在线视视频有精品| 福利一区在线观看| av网站一区二区三区| 91福利区一区二区三区| 欧美人xxxx| 亚洲精品一区二区三区在线观看| 久久综合色综合88| 亚洲国产精品高清| 亚洲自拍偷拍综合| 奇米在线7777在线精品 | 精品动漫一区二区三区在线观看| 久久久久久久久久久久久女国产乱 | 久久婷婷成人综合色| 国产欧美日韩不卡| 亚洲欧美另类久久久精品2019| 亚洲自拍偷拍图区| 久久成人综合网| www.亚洲激情.com| 4438x亚洲最大成人网| 国产亚洲欧美色| 亚洲精品免费在线观看| 日韩中文字幕一区二区三区| 免费成人深夜小野草| 国产成人综合亚洲网站| 91免费精品国自产拍在线不卡 | 欧美日韩国产综合一区二区三区 | 日本一区免费视频| 一区二区在线观看不卡| 日韩一区精品视频| 成人免费毛片a| 欧美裸体bbwbbwbbw| 久久久国产精品麻豆| 亚洲黄色性网站| 国产一区中文字幕| 欧美性极品少妇| 中文在线一区二区| 日韩成人dvd| 91丨porny丨中文| 精品免费国产一区二区三区四区| 亚洲欧美aⅴ...| 韩国午夜理伦三级不卡影院| 色综合激情久久| 久久久久久久久伊人| 午夜精品123| 色综合久久99| 国产三区在线成人av| 三级影片在线观看欧美日韩一区二区| 国产成人鲁色资源国产91色综| 欧美浪妇xxxx高跟鞋交| 国产精品久久毛片av大全日韩| 日韩二区在线观看| 一本色道久久综合精品竹菊| 久久久久久久久一| 日本vs亚洲vs韩国一区三区 | 亚洲国产色一区| 99热国产精品| 国产亲近乱来精品视频| 全部av―极品视觉盛宴亚洲| 在线观看一区不卡| 中文一区一区三区高中清不卡| 精品亚洲免费视频| 日韩欧美专区在线| 亚洲成av人片在线观看无码| 91啪在线观看| 国产精品久久久久aaaa樱花| 久久精品国产999大香线蕉| 欧美日韩国产经典色站一区二区三区| 中文字幕中文字幕在线一区| 国产一区二区三区精品欧美日韩一区二区三区 | 91国偷自产一区二区开放时间| 国产人成一区二区三区影院| 精品一区二区三区免费播放 | 欧美老女人第四色| 午夜在线成人av| 欧美精品欧美精品系列| 亚洲大片精品永久免费| 欧美亚洲丝袜传媒另类| 亚洲人精品一区| 日本电影欧美片| 亚洲国产aⅴ成人精品无吗| 91国产丝袜在线播放| 亚洲精品高清视频在线观看| 91免费观看视频| 亚洲美女视频一区| 欧美亚洲国产bt| 亚洲成人一区在线| 日韩视频一区二区三区在线播放 | 亚洲欧美日韩国产手机在线| 成人免费精品视频| 成人免费一区二区三区视频| 97久久超碰国产精品| 亚洲免费色视频| 精品视频在线免费观看| 日韩1区2区3区| 久久午夜老司机| 成人av网站大全| 亚洲一区二区三区四区的| 国产乱子伦一区二区三区国色天香| 国精产品一区一区三区mba视频| 成人综合在线网站| 国产午夜精品久久久久久免费视 | 日韩美女在线视频| 国精产品一区一区三区mba视频| 国产日韩欧美在线一区| 不卡的av在线播放| 性久久久久久久| 国产日韩精品一区二区三区在线| 99国产精品久久久久久久久久| 亚洲高清久久久| 久久久久成人黄色影片|