<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 獨立按鍵的長按與短按

          獨立按鍵的長按與短按

          作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          按鍵掃描函數(shù),支持按鍵長按短按,長按與短按的區(qū)別可以放到10ms的定時里面,根據(jù)需要設(shè)置判斷次數(shù)

          本文引用地址:http://www.ex-cimer.com/article/201611/321949.htm

          //按鍵處理函數(shù)
          //返回按鍵值
          //mode:0,不支持連續(xù)按;1,支持連續(xù)按;
          //0,沒有任何按鍵按下
          //1,KEY0按下
          //2,KEY1按下
          //3,KEY2按下
          //4,KEY3按下 WK_UP
          //注意此函數(shù)有響應(yīng)優(yōu)先級,KEY0>KEY1>KEY2>KEY3!!
          u8 Key_Scan(u8 mode)
          {
          static u8 key_up=1;//按鍵按松開標(biāo)志
          if(mode)key_up=1;//支持連按
          if(key_up&&(KEY0==0||KEY1==0||KEY2==0||KEY3==1))
          {
          delay_ms(10);//去抖動
          key_up=0;
          if(KEY0==0)return KEY_RIGHT;
          else if(KEY1==0)return KEY_DOWN;
          else if(KEY2==0)return KEY_LEFT;
          else if(KEY3==1)return KEY_UP;
          }else if(KEY0==1&&KEY1==1&&KEY2==1&&KEY3==0)key_up=1;
          return 0;// 無按鍵按下
          }


          //0,沒有任何按鍵按下
          //1,長按
          //2,短按

          u8 Key_long_short(void)
          {
          static u8 oldkey,newkey;
          static u8 keylongnum;
          static u8 keylongflag;
          u8 key;

          newkey = Key_Scan(1);

          if(newkey!=0)
          {
          if(oldkey==newkey)
          {

          keylongnum++;
          if(keylongnum>100)
          {
          keylongnum=0;
          keylongflag=1;
          key = 1;
          }

          }

          }
          else
          {

          if((oldkey!=0)&&(keylongflag!=1))
          {
          key = 2;
          }
          else
          {
          key = 0;
          }
          keylongnum=0;
          keylongflag=0;
          }
          oldkey=newkey;
          return(key);
          }



          關(guān)鍵詞: 獨立按鍵長按短

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();