<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 程序的多任務(wù)和資源復用舉例

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

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


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

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


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


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>