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

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

?? test.c

?? 一些ucos的外圍接口原代碼,如鍵盤LCDLED
?? C
?? 第 1 頁 / 共 2 頁
字號:
    PC_DispStr( 0, 17, "                                                                                ", DISP_FGND_WHITE);
    PC_DispStr( 0, 18, "0x50                                       0xD0                                 ", DISP_FGND_WHITE);
    PC_DispStr( 0, 19, "                                                                                ", DISP_FGND_WHITE);
    PC_DispStr( 0, 20, "0x60                                       0xE0                                 ", DISP_FGND_WHITE);
    PC_DispStr( 0, 21, "                                                                                                                                                                ", DISP_FGND_WHITE);
    PC_DispStr( 0, 22, "0x70                                       0xF0                                                                                                                 ", DISP_FGND_WHITE);
    PC_DispStr( 0, 23, "                                                                                ", DISP_FGND_WHITE);
    PC_DispStr( 0, 24, "                            <PRESS ANY KEY TO QUIT>                             ", DISP_FGND_YELLOW + DISP_BGND_BLUE + DISP_BLINK);
    for (y = 0; y < 8; y++) {
        for (x = 0; x < 16; x++) {
            PC_DispChar(x * 2 + 5, y * 2 + 8, y * 16 + x, DISP_FGND_YELLOW + DISP_BGND_BLUE);
        }
    }
    for (y = 8; y < 16; y++) {
        for (x = 0; x < 16; x++) {
            PC_DispChar(x * 2 + 48, (y - 8) * 2 + 8, y * 16 + x, DISP_FGND_YELLOW + DISP_BGND_BLUE);
        }
    }
    while (PC_GetKey(&key) == FALSE) {
        ;
    }
    PC_DispClrScr(DISP_FGND_WHITE);
}

/*$PAGE*/    
/*
*********************************************************************************************************
*                                   EMBEDDED SYSTEMS BUILDING BLOCKS
*                                         Modules Initialization
*********************************************************************************************************
*/

static  void  TestInitModules (void)
{
    PC_ElapsedInit();

#if MODULE_KEY_MN
    KeyInit();                                             /* Initialize the keyboard scanning module  */
#endif

#if MODULE_LED
    DispInit();                                            /* Initialize the LED module                */
#endif

#if MODULE_LCD
    DispInit(4, 20);                                       /* Initialize the LCD module (4 x 20 disp.) */
#endif

#if MODULE_CLK
    ClkInit();                                             /* Initialize the clock/calendar module     */
#endif

#if MODULE_TMR
    TmrInit();                                             /* Initialize the timer manager module      */
#endif

#if MODULE_DIO
    DIOInit();                                             /* Initialize the discrete I/O module       */
#endif

#if MODULE_AIO
    AIOInit();                                             /* Initialize the analog I/O module         */
#endif

#if MODULE_COMM_BGND
    CommInit();                                            /* Initialize the buffered serial I/O module*/
#endif

#if MODULE_COMM_RTOS
    CommInit();                                            /* Initialize the buffered serial I/O module*/
#endif

#if MODULE_COMM_PC
    CommCfgPort(COMM1, 9600, 8, COMM_PARITY_NONE, 1);      /* Initialize COM1 on the PC                */
    CommSetIntVect(COMM1);                                 /* Install the interrupt vector             */
    CommRxIntEn(COMM1);                                    /* Enable Rx interrupts                     */
#endif
}
/*$PAGE*/
/*
*********************************************************************************************************
*                             TEST 'Asynchronous Serial Communication' TASK
*                                         DATA RECEPTION TASK
*********************************************************************************************************
*/

void  TestRxTask (void *data)
{
    INT8U  err;
    INT8U  nbytes;
    INT8U  c;
    char   s[81];
    char  *ps;
    
    
    data   = data;                                                   /* Prevent compiler warning       */
    for (;;) {
        ps     = s;
        nbytes = 0;
        do {
            c     = CommGetChar(COMM1, OS_TICKS_PER_SEC, &err);
            *ps++ = c;
            nbytes++;
        } while (c != '\n' && nbytes < 20);
        *ps = NUL;                                                   /* NUL terminate received string  */
        PC_DispStr(49, 17, s, DISP_FGND_YELLOW + DISP_BGND_BLUE);
    }
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                            STATISTICS TASK
*
* Note(s) : 1) This function calls TestInitModules() which is used to initialize all the building blocks
*              used in this sample code.  Note that some of the building blocks actually create tasks
*              and thus require that you assign priorities.  All priorities of tasks are assigned in 
*              CFG.H.
*********************************************************************************************************
*/

void  TestStatTask (void *pdata)
{
    INT8U   i;
    INT16S  key;
    char    s[81];


    pdata = pdata;                                         /* Prevent compiler warning                 */


    OS_ENTER_CRITICAL();
    PC_VectSet(0x08, OSTickISR);                           /* Install uC/OS-II's clock tick ISR        */
    PC_SetTickRate(OS_TICKS_PER_SEC);                      /* Reprogram tick rate                      */
    OS_EXIT_CRITICAL();

    PC_DispStr(0, 22, "Determining  CPU's capacity ...", DISP_FGND_WHITE);
    OSStatInit();                                          /* Initialize uC/OS-II's statistics         */
    PC_DispClrRow(22, DISP_FGND_WHITE + DISP_BGND_BLACK);

    TestInitModules();                                     /* Initialize all building blocks used ...  */
                                                           /* ... including their tasks.               */

                                                           /* Create application tasks                 */
    OSTaskCreateExt(TestClkTask, 
                   (void *)0, 
                   &TestClkTaskStk[TASK_STK_SIZE], 
                   TEST_CLK_TASK_PRIO,
                   TEST_CLK_TASK_PRIO,  
                   &TestClkTaskStk[0],  
                   TASK_STK_SIZE,  
                   (void *)0,  
                   OS_TASK_OPT_SAVE_FP);
    OSTaskCreateExt(TestRxTask, 
                   (void *)0, 
                   &TestRxTaskStk[TASK_STK_SIZE], 
                   TEST_RX_TASK_PRIO,
                   TEST_RX_TASK_PRIO,  
                   &TestRxTaskStk[0],  
                   TASK_STK_SIZE,  
                   (void *)0,  
                   OS_TASK_OPT_SAVE_FP);
    OSTaskCreateExt(TestTxTask, 
                   (void *)0, 
                   &TestTxTaskStk[TASK_STK_SIZE], 
                   TEST_TX_TASK_PRIO,
                   TEST_TX_TASK_PRIO,  
                   &TestTxTaskStk[0],  
                   TASK_STK_SIZE,  
                   (void *)0,  
                   OS_TASK_OPT_SAVE_FP);
    OSTaskCreateExt(TestTmrTask,         
                   (void *)0,  
                   &TestTmrTaskStk[TASK_STK_SIZE],  
                   TEST_TMR_TASK_PRIO,
                   TEST_TMR_TASK_PRIO,            
                   &TestTmrTaskStk[0],  
                   TASK_STK_SIZE,          
                   (void *)0,  
                   OS_TASK_OPT_SAVE_FP);
    OSTaskCreateExt(TestDIOTask,      
                   (void *)0,  
                   &TestDIOTaskStk[TASK_STK_SIZE],  
                   TEST_DIO_TASK_PRIO,
                   TEST_DIO_TASK_PRIO,        
                   &TestDIOTaskStk[0], 
                   TASK_STK_SIZE,        
                   (void *)0, 
                   OS_TASK_OPT_SAVE_FP);
    OSTaskCreateExt(TestAIOTask,  
                   (void *)0,  
                   &TestAIOTaskStk[TASK_STK_SIZE],  
                   TEST_AIO_TASK_PRIO,
                   TEST_AIO_TASK_PRIO,         
                   &TestAIOTaskStk[0], 
                   TASK_STK_SIZE,     
                   (void *)0, 
                   OS_TASK_OPT_SAVE_FP);
                   
    TestDispLit();                                         /* Bring up text on display                  */
    
    sprintf(s, "V%1d.%02d", OSVersion() / 100, OSVersion() % 100);
    PC_DispStr(13, 23, s, DISP_FGND_YELLOW + DISP_BGND_BLUE);
    
    for (;;) {
        sprintf(s, "%5d", OSTaskCtr);                      /* Display #tasks running                    */
        PC_DispStr(30, 23, s, DISP_FGND_BLUE + DISP_BGND_CYAN);

        sprintf(s, "%5d", OSCtxSwCtr);                     /* Display #context switches per second      */
        PC_DispStr(56, 23, s, DISP_FGND_BLUE + DISP_BGND_CYAN);

        sprintf(s, "%3d", OSCPUUsage);                     /* Display CPU usage in %                    */
        PC_DispStr(75, 23, s, DISP_FGND_BLUE + DISP_BGND_CYAN);

        if (PC_GetKey(&key) == TRUE) {                     /* See if key has been pressed              */     
            if (key == 0x1B) {                             /* Yes, see if it's the ESCAPE key          */
#if MODULE_COMM_PC
                CommRclIntVect(COMM1);                     /* Restore the old vector for COMM1         */
#endif
                PC_DOSReturn();                            /* Return to DOS                            */
            }
        }

        OSCtxSwCtr = 0;

        OSTimeDlyHMSM(0, 0, 1, 0);                         /* Wait one second                          */
    }
}
/*$PAGE*/
/*
*********************************************************************************************************
*                               Function executed when Timers Time Out
*********************************************************************************************************
*/

static  void  TestTmr0TO (void *arg)
{
    arg = arg;
    PC_DispStr( 8, 17, "Timer #0 Timed Out!", DISP_FGND_WHITE + DISP_BGND_RED);
}



static  void  TestTmr1TO (void *arg)
{
    arg = arg;
    PC_DispStr( 8, 19, "Timer #1 Timed Out!", DISP_FGND_WHITE + DISP_BGND_RED);
}

/*
*********************************************************************************************************
*                                       TEST 'Timer Manager' TASK
*********************************************************************************************************
*/

void  TestTmrTask (void *data)
{
    char    s[81];
    INT16U  time;


    data = data;                                           /* Prevent compiler warning                 */
    
                                                           /* Setup Timer #0                           */
    TmrCfgFnct(0, TestTmr0TO, (void *)0);                  /* Execute when Timer #0 times out          */
    TmrSetMST(0, 1, 3, 9);                                 /* Set timer #0 to 1 min., 3 sec. 9/10 sec. */
    TmrStart(0);  
                                                           /* Setup Timer #1                           */
    TmrCfgFnct(1, TestTmr1TO, (void *)0);                  /* Execute when Timer #1 times out          */
    TmrSetMST(1, 2, 0, 0);                                 /* Set timer #1 to 2 minutes                */
    TmrStart(1);
    
    for (;;) {
        TmrFormat(0, s);                                   /* Get formatted remaining time for Tmr#0   */
        PC_DispStr( 8, 16, s, DISP_FGND_RED + DISP_BGND_LIGHT_GRAY);
        
        TmrFormat(1, s);                                   /* Get formatted remaining time for Tmr#1   */
        PC_DispStr( 8, 18, s, DISP_FGND_RED + DISP_BGND_LIGHT_GRAY);

        OSTimeDlyHMSM(0, 0, 0, 50);                        /* Run 20 times per second                  */
    }
}

/*$PAGE*/
/*
*********************************************************************************************************
*                             TEST 'Asynchronous Serial Communication' TASK
*                                       DATA TRANSMISSION TASK
*********************************************************************************************************
*/

void  TestTxTask (void *data)
{
    INT16U  ctr;
    char    s[81];
    char   *ps;
    
    
    data  = data;                                          /* Prevent compiler warning                 */
    ctr   = 0;
    for (;;) {
        sprintf(s, "%05d\n", ctr);        
        PC_DispStr(49, 16, s, DISP_FGND_YELLOW + DISP_BGND_BLUE);
        ps = s;
        while (*ps != NUL) {
            CommPutChar(COMM1, *ps, OS_TICKS_PER_SEC);
            OSTimeDly(5);                                  /* REMOVE if running under DOS 6.xx         */
            ps++;
        }
        ctr++;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.av亚洲| 国产精品美女久久久久久久久| 精品成人在线观看| 一区二区在线看| 国产制服丝袜一区| 欧美日韩精品一区视频| 日韩一区中文字幕| 国产一区二区三区在线观看免费| 91免费小视频| 国产精品―色哟哟| 精品亚洲porn| 日韩精品中文字幕在线不卡尤物| 亚洲福中文字幕伊人影院| 国产成人av福利| 久久天堂av综合合色蜜桃网| 日韩中文字幕亚洲一区二区va在线| 91美女片黄在线观看| 久久精品一区二区三区不卡| 日本怡春院一区二区| 欧美日韩在线三区| 亚洲午夜久久久| 91成人免费网站| 亚洲欧美一区二区三区孕妇| 国产ts人妖一区二区| 26uuu色噜噜精品一区| 久久99精品久久久久婷婷| 欧美日韩不卡在线| 日韩精品一二区| 69av一区二区三区| 青青青伊人色综合久久| 日韩午夜精品视频| 男女性色大片免费观看一区二区| 欧美久久久久久久久| 一区二区日韩电影| 欧美亚洲丝袜传媒另类| 一区二区国产视频| 欧美日韩激情一区| 日韩不卡一二三区| 日韩精品一区二区在线观看| 美女尤物国产一区| 久久综合狠狠综合久久激情| 国产美女精品一区二区三区| 国产蜜臀av在线一区二区三区| 懂色av一区二区在线播放| 国产精品久久久久久久久搜平片| av中文字幕一区| 亚洲五码中文字幕| 日韩美女主播在线视频一区二区三区| 狠狠色丁香久久婷婷综合丁香| 欧美激情综合网| 日本黄色一区二区| 日韩中文字幕区一区有砖一区| 欧美成人福利视频| 成人动漫在线一区| 亚洲成人av一区二区| 欧美一级电影网站| 国产不卡视频在线观看| 一区二区三区在线免费| 日韩一二三区不卡| 高清beeg欧美| 肉色丝袜一区二区| 国产视频不卡一区| 欧美日韩在线免费视频| 狠狠色伊人亚洲综合成人| 亚洲欧美日韩一区二区三区在线观看| 欧美吞精做爰啪啪高潮| 国产精品白丝jk白祙喷水网站| 一区二区三区不卡在线观看| 日韩欧美亚洲一区二区| 91在线观看成人| 麻豆国产精品视频| 一区二区三区成人| 久久久99久久| 欧美肥胖老妇做爰| 成人免费三级在线| 久久精品国产亚洲高清剧情介绍| 国产精品激情偷乱一区二区∴| 欧美一级午夜免费电影| 91污片在线观看| 激情丁香综合五月| 日韩国产欧美在线观看| 国产精品久久久久久久第一福利| 8x8x8国产精品| 99久久精品免费精品国产| 精品一区二区三区在线播放视频| 一区二区免费在线播放| 中文字幕免费观看一区| 欧美一区二区在线观看| 日本韩国一区二区三区| 成人中文字幕电影| 狠狠网亚洲精品| 丝袜脚交一区二区| 亚洲无线码一区二区三区| 国产精品夫妻自拍| 欧美激情一区二区三区四区| 精品蜜桃在线看| 欧美一级高清片在线观看| 欧美色图激情小说| 色屁屁一区二区| 99久久精品国产一区| 丰满放荡岳乱妇91ww| 国内精品写真在线观看| 久久精品噜噜噜成人av农村| 日日骚欧美日韩| 亚洲国产精品一区二区尤物区| 亚洲特黄一级片| 国产精品久久久久久福利一牛影视 | 日韩激情一二三区| 亚洲国产精品一区二区www| 亚洲天堂2014| 一区二区三区四区在线播放| 中文字幕日韩一区| 国产精品伦理在线| 国产精品久久久久久久久晋中 | 亚洲成人www| 亚洲午夜精品在线| 亚洲国产成人av网| 亚洲国产日韩a在线播放性色| 亚洲精品免费在线| 亚洲成人动漫一区| 欧美a级理论片| 国内外精品视频| 国产精品一区二区在线看| 床上的激情91.| 91视频免费观看| 欧美性色黄大片| 日韩视频永久免费| 久久久欧美精品sm网站| 欧美激情在线看| 一区二区视频在线| 午夜精品福利一区二区三区av | 欧美电影免费观看高清完整版| 精品美女一区二区| 欧美激情在线一区二区| 日韩理论片在线| 性做久久久久久免费观看| 免费看日韩a级影片| 国产精品夜夜嗨| 在线视频欧美精品| 日韩一区二区三区四区| 欧美精品一区二区三区蜜桃| 国产精品免费丝袜| 亚洲h在线观看| 国产精品一区二区免费不卡| 色婷婷精品大视频在线蜜桃视频| 在线不卡免费av| 日本一区二区三区四区在线视频| 亚洲精品综合在线| 麻豆成人久久精品二区三区红| 国产99久久久精品| 欧美日韩高清一区| 国产精品免费人成网站| 偷拍与自拍一区| 国产·精品毛片| 91麻豆精品久久久久蜜臀| 亚洲国产成人在线| 日本三级亚洲精品| 一本一道波多野结衣一区二区| 欧美成人福利视频| 一区二区三区在线观看欧美| 国产一区二区三区久久久 | 亚洲国产精品久久人人爱蜜臀| 久久99久久久欧美国产| 色猫猫国产区一区二在线视频| 欧美精品一区二区久久久| 亚洲国产精品一区二区尤物区| 国产91精品在线观看| 欧美一区二区久久| 亚洲精品ww久久久久久p站 | 五月综合激情婷婷六月色窝| 成人国产电影网| www国产成人免费观看视频 深夜成人网| 亚洲精品福利视频网站| 懂色av噜噜一区二区三区av| 欧美大黄免费观看| 午夜a成v人精品| 欧美在线视频你懂得| 国产精品第一页第二页第三页| 精品一区二区三区免费视频| 这里只有精品99re| 亚洲电影一级黄| 在线精品亚洲一区二区不卡| 国产精品久久久久9999吃药| 国模冰冰炮一区二区| 日韩三级在线免费观看| 五月天婷婷综合| 欧美色图12p| 亚洲国产aⅴ成人精品无吗| 91色九色蝌蚪| 一区在线播放视频| jizzjizzjizz欧美| 国产精品福利电影一区二区三区四区| 精品亚洲国内自在自线福利| 日韩西西人体444www| 日韩精品视频网| 日韩一级高清毛片| 美女免费视频一区二区| 欧美一级黄色录像| 极品美女销魂一区二区三区免费| 欧美v国产在线一区二区三区|