在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 程序的多任務(wù)和資源復(fù)用舉例

      程序的多任務(wù)和資源復(fù)用舉例

      作者: 時間:2012-07-04 來源:網(wǎng)絡(luò) 收藏


      /*---------------------------------------------------------------------------*/
      /*按鍵掃描,包含兩個掃描任務(wù)*/
      /**********************************************
      每次系統(tǒng)時間進(jìn)入一次,20ms.這里把20MS判斷放進(jìn)來,好看點(diǎn)
      按鍵掃描循環(huán)
      為簡單化,沒使用隊(duì)列保存鍵值,使用標(biāo)志
      那些重復(fù)發(fā)出N鍵,在這個結(jié)構(gòu)中非常容易加上
      **********************************************/
      void Key_MainLoop()
      {
        if(fSYS_20ms==0)return;

        switch(mKey1SwapTask){
         case 0:/***有按鍵按下嗎?***/
            if(iKey1==0){
             mKey1SwapTask=1;
            }
            break;
        case 1: /***鍵按下去抖延時***/
            mKey1SwapTask=2;          /***延時一個系統(tǒng)時間***/
            break;
        case 2: /***鍵值判斷***/
            if(iKey1==0){
             fKey1=1;             /*按鍵有效*/
             mKey1SwapTask=3;         /*去按鍵去抖*/
            }
            else mKey1SwapTask=0;        /*抖動*/
            break;
        case 3: /***有松開嗎?***/
            if(iKey1==1){
             mKey1SwapTask=4;
            }
            break;
        case 4: /***鍵松開去抖延時***/
            mKey1SwapTask=5;          /***延時一個系統(tǒng)時間***/
            break;
        case 5: /***鍵值判斷***/
            if(iKey1==1){
             mKey1SwapTask=0;         /*去按鍵檢測開始*/
            }
            else mKey1SwapTask=3;        /*抖動*/
            break;
        }


        switch(mKey2SwapTask){
         case 0:/***有按鍵按下嗎?***/
            if(iKey2==0){
             mKey2SwapTask=1;
            }
            break;
        case 1: /***鍵按下去抖延時***/
            mKey2SwapTask=2;          /***延時一個系統(tǒng)時間***/
            break;
        case 2: /***鍵值判斷***/
            if(iKey2==0){
             fKey2=1;             /*按鍵有效*/
             mKey2SwapTask=3;         /*去按鍵去抖*/
            }
            else mKey2SwapTask=0;        /*抖動*/
            break;
        case 3: /***有松開嗎?***/
            if(iKey2==1){
             mKey2SwapTask=4;
            }
            break;
        case 4: /***鍵松開去抖延時***/
            mKey2SwapTask=5;          /***延時一個系統(tǒng)時間***/
            break;
        case 5: /***鍵值判斷***/
            if(iKey2==1){
             mKey2SwapTask=0;         /*去按鍵檢測開始*/
            }
            else mKey2SwapTask=3;        /*抖動*/
            break;
        }
      }


      關(guān)鍵詞: 多任務(wù) 資源復(fù)用

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉