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

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

?? taskmng.c.bak

?? uCosII 郵箱消息和任務(wù)管理
?? BAK
字號(hào):


#include  "includes.h"

#define  TASK_STK_SIZE                 512              /* 任務(wù)棧的大小(# of WORDs)            */
#define  MAX_TASKS                      9       	     /* 最大任務(wù)數(shù)                          */

/*
*********************************************************************************************************
*                                               VARIABLES
*********************************************************************************************************
*/

OS_STK           TaskStk[MAX_TASKS][TASK_STK_SIZE];     /* 任務(wù)堆棧                       */
OS_STK           TaskStartStk[TASK_STK_SIZE];           /*初始任務(wù)棧                      */
INT8U            task[9]={1,2,3,4,5,6,7,8,9};           /* 9個(gè)任務(wù)優(yōu)先級(jí)為 1 到 9         */
int              taskflg[9]={0,0,0,0,0,0,0,0,0};        /* 0:沒(méi)有任務(wù) 1:活動(dòng)的任務(wù) 2:掛起的任務(wù) */
/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*********************************************************************************************************
*/

 void Task(void *tid);       /*參數(shù)指針的內(nèi)容為任務(wù)id,即任務(wù)優(yōu)先級(jí) */
 void TaskStart(void *data);
 void CreateTask();
 void DeleteTask();
 void SuspendTask();
 void ResumeTask();

/*
*********************************************************************************************************
*                                                MAIN
*********************************************************************************************************
*/

void main (void)
{
    PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK);      /* Clear the screen                         */
    OSInit();                                              /* Initialize uC/OS-II                      */
    PC_DOSSaveReturn();                                    /* Save environment to return to DOS        */
    PC_VectSet(uCOS, OSCtxSw);                             /* Install uC/OS-II's context switch vector */

    PC_DispStr(26,  0, "uC/OS-II, The Real-Time Kernel", DISP_FGND_WHITE + DISP_BGND_RED + DISP_BLINK);
    PC_DispStr(30,  2, "Task Management Example", DISP_FGND_WHITE + DISP_BLINK);
    PC_DispStr(10,  4, "Usage:", DISP_FGND_WHITE);
    PC_DispStr(15,  5, "C: To Create   A Task          D: To Delete A Task", DISP_FGND_WHITE);
    PC_DispStr(15,  5, "C",DISP_FGND_YELLOW);
    PC_DispStr(21,  5, "C",DISP_FGND_YELLOW);
    PC_DispStr(46,  5, "D",DISP_FGND_YELLOW);
    PC_DispStr(52,  5, "D",DISP_FGND_YELLOW);
    PC_DispStr(15,  6, "S: To Suspend  A Task          R: To Resume A Task", DISP_FGND_WHITE);
    PC_DispStr(15,  6, "S",DISP_FGND_YELLOW);
    PC_DispStr(21,  6, "S",DISP_FGND_YELLOW);
    PC_DispStr(46,  6, "R",DISP_FGND_YELLOW);
    PC_DispStr(52,  6, "R",DISP_FGND_YELLOW);
    PC_DispStr(10,  8, "MAX TASKS NUMBER: 9", DISP_FGND_WHITE);
    PC_DispStr(28,  8, " 9 ", DISP_FGND_WHITE + DISP_BGND_RED + DISP_BLINK);
    PC_DispStr(28, 26, "<-PRESS 'ESC' TO QUIT->", DISP_FGND_WHITE + DISP_BLINK);

    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
    OSStart();
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                              STARTUP TASK
*********************************************************************************************************
*/
void TaskStart (void *data)
{
#if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
    OS_CPU_SR  cpu_sr;
#endif

    WORD       key;

    OS_ENTER_CRITICAL();
    PC_VectSet(0x08, OSTickISR);                           /* 設(shè)置時(shí)鐘                                 */
    PC_SetTickRate(OS_TICKS_PER_SEC);
    OS_EXIT_CRITICAL();

    OSStatInit();                                          /* Initialize uC/OS-II's statistics         */

    for (;;) {
        if (PC_GetKey(&key) == TRUE) {                     /* See if key has been pressed              */
            switch(key){                                   /* 按鍵響應(yīng)                                 */

               case 'c':
               case 'C':                                    /* c或者C 創(chuàng)建 */
               	 CreateTask();
                 continue;
		       case 'd':                                    /* d或者D 刪除 */
               case 'D':
                  DeleteTask();
                  continue;
               case 's':                                    /* s或者S 掛起 */
               case 'S':
                  SuspendTask();
                  continue;
               case 'r':                                    /* r或者R 喚醒 */
               case 'R':
                  ResumeTask();
                  continue;
            	case 0x1B:
                PC_DOSReturn();                            /* ESC  Return to DOS                       */
            }
        }

        OSTimeDlyHMSM(0, 0, 1, 0);                         /* Wait one second                          */
    }
}

void Task (void* tid)
{
    int i;
    int id =*(int*)tid;    /* 取得任務(wù)id */

    for (i=0;i<40;i++) {   /*在屏幕上重復(fù)打印任務(wù)id */
        if(i==39){
        	i=0;
            PC_DispClrRow(id+13,DISP_BGND_BLACK);  /* 滿40次重新開(kāi)始打印  */
        }
        PC_DispStr(15, id+13,"Task ", DISP_FGND_WHITE);
        PC_DispChar(20,id+13,id+48, DISP_FGND_WHITE);
        PC_DispChar(22,id+13,':', DISP_FGND_WHITE);
        PC_DispChar(i+24, id+13,id+48, DISP_FGND_WHITE);
        OSTimeDly(10);
    }

}

void CreateTask()     /* 創(chuàng)建任務(wù)  */
{
   WORD key;
   PC_DispStr(12,10,"You Choose To Create A Task", DISP_FGND_WHITE);
   PC_DispStr(26,10,"CREATE", DISP_FGND_YELLOW);
   PC_DispStr(12,11,"Input Task ID(1-9)(ESC to Cancel):", DISP_FGND_WHITE);
   for (;;) {
        if (PC_GetKey(&key) == TRUE) {                     /* See if key has been pressed              */
            if(key==0x1B){                                 /* ESC 返回上一級(jí)并清除提示信息             */
               PC_DispClrRow(10,DISP_BGND_BLACK);
               PC_DispClrRow(11,DISP_BGND_BLACK);
            	break;
            }
            if(key>='1'&&key<='9'){                        /* 如果1-9 鍵 先檢查任務(wù)是否存在, 若已經(jīng)存在打印提示信息 */
            	if(taskflg[key-49]!=0){
                  PC_DispClrRow(10,DISP_BGND_BLACK);
               	  PC_DispClrRow(11,DISP_BGND_BLACK);
               	  PC_DispStr(12,10,"Task Already Exist!", DISP_FGND_YELLOW);
                  break;
               }else{                                      /* 任務(wù)不存在,則創(chuàng)建新任務(wù),并打印創(chuàng)建信息 */
               	  PC_DispClrRow(10,DISP_BGND_BLACK);
               	  PC_DispClrRow(11,DISP_BGND_BLACK);
               	  PC_DispStr(12,10,"Create Task:", DISP_FGND_YELLOW);
               	  PC_DispChar(26,10,key, DISP_FGND_YELLOW);
               	  OSTaskCreate(Task, (void*)&task[key-49], &TaskStk[key-49][TASK_STK_SIZE - 1], task[key-49]);/*創(chuàng)建任務(wù) id為 按鍵數(shù)值*/
                  taskflg[key-49]=1;    /* 設(shè)置活動(dòng)任務(wù)標(biāo)志 */
               	  break;
               }
            }
        }
        OSTimeDly(50);
   }
}

void DeleteTask()
{
	WORD key;
	PC_DispStr(12,10,"You Choose To DELETE A Task", DISP_FGND_WHITE);
    PC_DispStr(26,10,"DELETE", DISP_FGND_YELLOW);
    PC_DispStr(12,11,"Input Task ID(1-9)(ESC to Cancel):", DISP_FGND_WHITE);
    for (;;) {
        if (PC_GetKey(&key) == TRUE) {                     /* See if key has been pressed              */
            if(key==0x1B){                                  /* ESC 返回上一級(jí)并清除提示信息             */
            	PC_DispClrRow(10,DISP_BGND_BLACK);
                PC_DispClrRow(11,DISP_BGND_BLACK);
            	break;
            }
            if(key>='1'&&key<='9'){          /* 如果1-9 鍵 先檢查任務(wù)是否存在, 若任務(wù)不存在打印提示信息 */
            	if(taskflg[key-49]==0){
               	PC_DispClrRow(10,DISP_BGND_BLACK);
               	PC_DispClrRow(11,DISP_BGND_BLACK);
               	PC_DispStr(12,10,"No Such Task!", DISP_FGND_YELLOW);
                break;
               }else{                        /* 如果任務(wù)存在(無(wú)論是活動(dòng)任務(wù)還是掛起任務(wù)),刪除任務(wù) */
               	PC_DispClrRow(10,DISP_BGND_BLACK);
               	PC_DispClrRow(11,DISP_BGND_BLACK);
               	PC_DispStr(12,10,"Delete Task:", DISP_FGND_YELLOW);
               	PC_DispChar(26,10,key, DISP_FGND_YELLOW);
               	OSTaskDel(task[key-49]);
                taskflg[key-49]=0;         /* 刪除任務(wù)后任務(wù)標(biāo)志設(shè)為0 */
               	PC_DispClrRow(key-35,DISP_BGND_BLACK);
               	break;
               }
            }
        }
        OSTimeDly(50);
   }
}

void SuspendTask()
{
	WORD key;
	PC_DispStr(12,10,"You Choose To SUSPEND A Task", DISP_FGND_WHITE);
   PC_DispStr(26,10,"SUSPEND", DISP_FGND_YELLOW);
   PC_DispStr(12,11,"Input Task ID(1-9)(ESC to Cancel):", DISP_FGND_WHITE);
   for (;;) {
        if (PC_GetKey(&key) == TRUE) {                     /* See if key has been pressed              */
            if(key==0x1B){                                 /* ESC 返回上一級(jí)并清除提示信息             */
            	PC_DispClrRow(10,DISP_BGND_BLACK);
                PC_DispClrRow(11,DISP_BGND_BLACK);
            	break;
            }
            if(key>='1'&&key<='9'){                   /* 如果1-9 鍵 檢查是否是活動(dòng)任務(wù), 若任務(wù)不存在或者非活動(dòng)任務(wù)打印提示信息 */
            	if(taskflg[key-49]!=1){
                  PC_DispClrRow(10,DISP_BGND_BLACK);
               	  PC_DispClrRow(11,DISP_BGND_BLACK);
               	  PC_DispStr(12,10,"Not An Active Task or Task Does NOT Exist!", DISP_FGND_YELLOW);
               	  break;
               }else{                                /* 是活動(dòng)任務(wù),掛起該任務(wù) */
               	  PC_DispClrRow(10,DISP_BGND_BLACK);
               	  PC_DispClrRow(11,DISP_BGND_BLACK);
               	  PC_DispStr(12,10,"Suspend Task:", DISP_FGND_YELLOW);
               	  PC_DispChar(26,10,key, DISP_FGND_YELLOW);
               	  OSTaskSuspend(task[key-49]);     /*掛起任務(wù) */
                  taskflg[key-49]=2;  /*設(shè)置掛起任務(wù)標(biāo)志 */
               	  break;
               }

            }
        }
        OSTimeDly(50);
   }
}

void ResumeTask()
{
   WORD key;
   PC_DispStr(12,10,"You Choose To RESUME A Task", DISP_FGND_WHITE);
   PC_DispStr(26,10,"RESUME", DISP_FGND_YELLOW);
   PC_DispStr(12,11,"Input Task ID(1-9)(ESC to Cancel):", DISP_FGND_WHITE);
   for (;;) {
        if (PC_GetKey(&key) == TRUE) {                     /* See if key has been pressed              */
            if(key==0x1B){                                  /* ESC 返回上一級(jí)并清除提示信息             */
            	PC_DispClrRow(10,DISP_BGND_BLACK);
                PC_DispClrRow(11,DISP_BGND_BLACK);
            	break;
            }
            if(key>='1'&&key<='9'){                  /* 如果1-9 鍵 檢查是否是掛起的任務(wù),若不是則打印提示信息 */
            	if(taskflg[key-49]!=2){
                  PC_DispClrRow(10,DISP_BGND_BLACK);
               	  PC_DispClrRow(11,DISP_BGND_BLACK);
               	  PC_DispStr(12,10,"Not A Suspended Task or Task Does NOT Exist!", DISP_FGND_YELLOW);
                  break;
               }else{                               /* 若是掛起的任務(wù)則恢復(fù)任務(wù)到活動(dòng)狀態(tài) */
               	  PC_DispClrRow(10,DISP_BGND_BLACK);
               	  PC_DispClrRow(11,DISP_BGND_BLACK);
                  PC_DispStr(12,10,"Resume Task:", DISP_FGND_YELLOW);
               	  PC_DispChar(26,10,key, DISP_FGND_YELLOW);
               	  OSTaskResume(task[key-49]);       /*恢復(fù)任務(wù) */
                  taskflg[key-49]=1;  /*設(shè)置任務(wù)為活動(dòng)狀態(tài) */
               	break;
               }
            }
        }
        OSTimeDly(50);
   }
}








?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品少妇30p| 久久久精品蜜桃| 精品一区二区三区在线观看国产| 欧美日韩精品一区二区三区四区 | 成熟亚洲日本毛茸茸凸凹| 亚洲视频免费在线观看| 欧美一区二区三区在线视频| 不卡一区中文字幕| 日本91福利区| 一区二区三区**美女毛片| 精品欧美一区二区在线观看| 欧美色网一区二区| youjizz国产精品| 精品在线观看免费| 午夜一区二区三区在线观看| 中文字幕一区二区三区乱码在线 | 国产清纯白嫩初高生在线观看91 | 日日摸夜夜添夜夜添精品视频| 国产精品―色哟哟| 欧美成人官网二区| 欧美日本高清视频在线观看| 色呦呦国产精品| 国产成人自拍网| 经典三级一区二区| 免费人成黄页网站在线一区二区| 亚洲成人精品一区二区| 亚洲四区在线观看| 国产精品免费观看视频| 国产女人aaa级久久久级| 久久久久久亚洲综合影院红桃| 日韩一级二级三级精品视频| 在线成人免费观看| 欧美精品色综合| 在线播放中文一区| 欧美日韩亚洲综合在线| 欧美性做爰猛烈叫床潮| 在线观看视频一区二区欧美日韩| 91浏览器打开| 在线精品国精品国产尤物884a| 日本韩国视频一区二区| 色吧成人激情小说| 欧美性猛片xxxx免费看久爱| 欧美色综合久久| 91精品一区二区三区在线观看| 欧美一级xxx| 欧美一三区三区四区免费在线看| 欧美欧美午夜aⅴ在线观看| 欧美电影一区二区三区| 日韩欧美www| 久久综合色鬼综合色| 欧美精品一区二区久久久| 日韩精品高清不卡| 久久丁香综合五月国产三级网站| 精品一区二区三区在线播放视频| 国产精品夜夜嗨| av高清久久久| 欧洲国内综合视频| 91精品国产一区二区三区| 日韩久久久久久| 国产欧美日韩三级| 中文字幕亚洲欧美在线不卡| 亚洲影视在线观看| 日日摸夜夜添夜夜添精品视频| 久久精品国产**网站演员| 国产伦精一区二区三区| 92国产精品观看| 欧美三级日韩三级| 欧美大片在线观看一区| 国产精品伦一区二区三级视频| 亚洲乱码日产精品bd| 午夜国产精品一区| 九九国产精品视频| 成人听书哪个软件好| 欧美怡红院视频| 日韩一区二区影院| 欧美激情一区在线观看| 亚洲精品一二三| 美女性感视频久久| 久久久国产综合精品女国产盗摄| 国产精品国产三级国产专播品爱网| 亚洲黄色小说网站| 美女视频免费一区| 91麻豆国产福利在线观看| 日韩欧美在线观看一区二区三区| 国产免费观看久久| 亚洲在线免费播放| 国产电影一区在线| 欧美久久一区二区| 国产精品视频一区二区三区不卡| 午夜电影一区二区三区| 成人丝袜视频网| 日韩视频在线永久播放| 亚洲欧美另类图片小说| 国产一区二区伦理| 欧美日韩视频专区在线播放| 亚洲国产精品99久久久久久久久| 日韩1区2区日韩1区2区| 91视频免费看| 欧美激情一区二区三区不卡| 日韩成人伦理电影在线观看| a4yy欧美一区二区三区| 亚洲精品一区二区在线观看| 午夜精品久久久久影视| av福利精品导航| 国产色产综合产在线视频| 日韩电影在线看| 91精品91久久久中77777| 国产欧美精品区一区二区三区| 免费观看成人av| 欧美日产在线观看| 亚洲欧美国产毛片在线| 国产91对白在线观看九色| 日韩欧美亚洲一区二区| 视频一区二区国产| 欧美这里有精品| 亚洲视频在线一区观看| 成人一区二区三区在线观看| 欧美大片在线观看一区二区| 天堂资源在线中文精品| 欧美中文字幕一区二区三区亚洲| 中文字幕中文字幕一区二区| 国产成人在线视频免费播放| 日本三级亚洲精品| 日本高清不卡在线观看| 国产精品美日韩| 成人高清免费观看| 国产精品精品国产色婷婷| 国产suv精品一区二区6| 国产网站一区二区| 国产精品77777| 国产午夜精品在线观看| 国产精品1区2区3区| 久久美女艺术照精彩视频福利播放| 极品少妇xxxx偷拍精品少妇| 精品国产免费人成在线观看| 国产尤物一区二区| 久久久国际精品| 高清不卡在线观看av| 国产午夜精品美女毛片视频| 国产成人午夜视频| 国产日韩av一区| jizzjizzjizz欧美| 亚洲精品国产成人久久av盗摄 | 91精品国产aⅴ一区二区| 日本不卡123| 精品国产污污免费网站入口 | 日韩av中文字幕一区二区三区| 9191国产精品| 麻豆精品视频在线观看| 2020国产精品自拍| 丁香五精品蜜臀久久久久99网站 | 久久综合九色综合97婷婷| 激情五月激情综合网| 欧美经典一区二区三区| 99久久伊人久久99| 亚洲精品第1页| 91精品国产欧美日韩| 国内精品免费在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 91麻豆自制传媒国产之光| 一区二区三区四区激情| 91精品国产综合久久国产大片| 九九精品视频在线看| 国产精品精品国产色婷婷| 在线观看91视频| 免费成人你懂的| 中文字幕第一区第二区| 日本精品视频一区二区三区| 日本不卡中文字幕| 久久久久97国产精华液好用吗| 99精品一区二区三区| 亚洲五码中文字幕| 26uuu欧美| 欧美中文字幕一区二区三区亚洲| 美女视频一区二区三区| 中文字幕一区二区三区不卡在线| 欧美三级一区二区| 国产专区综合网| 一区二区三区日韩精品| 精品伦理精品一区| 色呦呦国产精品| 国产一区在线观看视频| 亚洲毛片av在线| 婷婷国产v国产偷v亚洲高清| 久久网这里都是精品| 色欧美日韩亚洲| 国产一区二区三区精品欧美日韩一区二区三区| 专区另类欧美日韩| 精品三级在线看| 亚洲在线免费播放| 欧美三级蜜桃2在线观看| 国产乱国产乱300精品| 亚洲一区二区三区四区中文字幕| 久久蜜桃一区二区| 69堂成人精品免费视频| 色诱视频网站一区| 福利电影一区二区| 蜜臀av在线播放一区二区三区| 亚洲免费av在线| 日韩精品资源二区在线|