久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 簡(jiǎn)單的STM32開(kāi)關(guān)按鍵單擊、雙擊、三擊以及長(zhǎng)安檢測(cè)程序 [打印本頁(yè)]

作者: 英語(yǔ)    時(shí)間: 2019-8-24 09:08
標(biāo)題: 簡(jiǎn)單的STM32開(kāi)關(guān)按鍵單擊、雙擊、三擊以及長(zhǎng)安檢測(cè)程序
下列為一路按鍵檢測(cè),可以增加到多路,原理都是這樣的,工程應(yīng)用在附件里。

STM32單片機(jī)源程序如下:

                      //按鍵檢測(cè)
void key_scan(void)
{
key_s.get_key_num=get_key_value();
if(key_s.get_key_num)               //判斷是否有按鍵按下
{
  switch(key_s.get_key_num)
  {
//============================================================================================   
   case KEY_1:                     //按鍵1按下
    switch(key_s.state)
    {
      case KEY_NONE:            //之前沒(méi)有檢測(cè)到按下
       key_s.state=KEY_1_DOWN;
       break;
      case KEY_1_DOWN:          //檢測(cè)到按下
       key_s.long_count++;   //長(zhǎng)按檢測(cè)開(kāi)始
        if(key_s.long_count>=KEY_LONG_TIME)
       {
        key_s.key_resault=KEY_1_LONG;
        key_s.state=KEY_1_LONG;
       }
       break;
      case KEY_1_UP:              //雙擊按下
       key_s.state=KEY_1_DUBDOW;
        key_s.count=0;
       break;
      case KEY_1_LONG:            //長(zhǎng)按按下等待釋放
       break;
      case KEY_1_DUBDOW:          //雙擊按下等待釋放
       break;
      case KEY_1_TIEBLE:          //三擊按下等待釋放
       break;
      case KEY_1_DOUBLE:          //三擊按下
        key_s.state=KEY_1_TIEBLE;
       break;
      
      default:
       break;
    }
    break;
   default:
    break;
  }
}
else
{
   switch(key_s.state)
   {
     case KEY_NONE:            //沒(méi)有檢測(cè)到按下
      key_s.count=0;
      key_s.double_count=0;
      key_s.long_count=0;
      key_s.trible_count=0;     
      break;
//============================================================================================     
     case KEY_1_DOWN:          //檢測(cè)到按鍵1按下后松手
      key_s.state=KEY_1_UP;
     break;
     case KEY_1_UP:
       key_s.count++;         //單擊計(jì)數(shù)超時(shí)檢測(cè)
       key_s.double_count++;
       if(key_s.count>=KEY_DOUBLE_MAX)
       {
        key_s.key_resault=KEY_1_DOWN;
        key_s.state=KEY_NONE;
       }
      break;
      case KEY_1_LONG:
       key_s.state=KEY_NONE;
       break;
      case KEY_1_DUBDOW:
       key_s.state=KEY_1_DOUBLE;
       break;
      case KEY_1_DOUBLE:
       key_s.count++;        //雙擊計(jì)數(shù)超時(shí)檢測(cè)
        key_s.trible_count++;
        if(key_s.count>=KEY_DOUBLE_MAX)
       {
        if((key_s.double_count>=KEY_DOUBLE_MIN)&&(key_s.double_count<=KEY_DOUBLE_MAX))
         {
          key_s.key_resault=KEY_1_DOUBLE;
         }
        key_s.state=KEY_NONE;
       }      
        break;
       case KEY_1_TIEBLE:
       if((key_s.trible_count>=KEY_DOUBLE_MIN)&&(key_s.trible_count<=KEY_DOUBLE_MAX))
        {
         key_s.key_resault=KEY_1_TIEBLE;
        }
       key_s.state=KEY_NONE;  
        break;
     default:
      break;
   }
}

}

全部資料51hei下載地址:
STM32_key_chank.7z (184.6 KB, 下載次數(shù): 115)

作者: yajun4613    時(shí)間: 2020-3-14 18:18
受教受教,謝謝
作者: timeabcd    時(shí)間: 2021-1-12 19:35
牛牛的,謝謝啊!拿來(lái)用下!




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 97超碰资源站 | 国产一区二区网站 | 欧美视频精品 | av在线视屏| 丁香婷婷网 | 青青草成人在线 | 日韩精品在线免费观看 | 国产呦小j女精品视频 | 日韩手机在线视频 | 性生活毛片 | 国产视频一区二区三区四区 | 亚洲精品911 | 日韩综合一区 | 四虎影院永久免费 | 午夜精品一区二区三区在线播放 | 欧美成年人视频 | a级片在线免费观看 | 午夜久久久久久久 | 日韩欧美精品一区 | 久久精品视 | 香蕉成人| 日韩网站在线观看 | 亚洲天堂一区二区三区 | 日韩精品网站 | 黄色在线免费 | 日本国产视频 | 色婷婷免费视频 | 黄色大毛片 | 天天射综合| 午夜视频免费观看 | 日韩午夜在线观看 | 欧美成人三级在线观看 | 欧美特黄视频 | 亚洲伦理精品 | 伊人在线视频 | 精品一区二区在线播放 | 日本天堂网 | 秋霞一区二区三区 | 国产一级大片 | 日韩在线一区二区 | 午夜网址|