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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5503|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

簡單的STM32開關(guān)按鍵單擊、雙擊、三擊以及長安檢測程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:147114 發(fā)表于 2019-8-24 09:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下列為一路按鍵檢測,可以增加到多路,原理都是這樣的,工程應(yīng)用在附件里。

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

                      //按鍵檢測
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:            //之前沒有檢測到按下
       key_s.state=KEY_1_DOWN;
       break;
      case KEY_1_DOWN:          //檢測到按下
       key_s.long_count++;   //長按檢測開始
        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:            //長按按下等待釋放
       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:            //沒有檢測到按下
      key_s.count=0;
      key_s.double_count=0;
      key_s.long_count=0;
      key_s.trible_count=0;     
      break;
//============================================================================================     
     case KEY_1_DOWN:          //檢測到按鍵1按下后松手
      key_s.state=KEY_1_UP;
     break;
     case KEY_1_UP:
       key_s.count++;         //單擊計數(shù)超時檢測
       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++;        //雙擊計數(shù)超時檢測
        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)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:579837 發(fā)表于 2020-3-14 18:18 | 只看該作者
受教受教,謝謝
回復(fù)

使用道具 舉報

板凳
ID:165291 發(fā)表于 2021-1-12 19:35 | 只看該作者
牛牛的,謝謝啊!拿來用下!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 男女污污动态图 | 毛片av免费在线观看 | 国产精品视频在线播放 | 久久91精品久久久久久9鸭 | 在线欧美日韩 | 在线看无码的免费网站 | 色婷婷狠狠 | 91视频中文 | 成人免费看黄网站在线观看 | 日韩欧美三级电影 | 一级片免费视频 | 北条麻妃一区二区三区在线观看 | 午夜影院在线观看 | 国产在线精品一区二区三区 | 国产农村一级片 | 亚洲欧美日韩在线一区二区 | 成人毛片一区二区三区 | 久久51| 日韩在线视频网址 | 婷婷桃色网 | 在线免费91| 色综合视频 | 成人欧美一区二区三区在线观看 | 西西裸体做爰视频 | 一级国产精品一级国产精品片 | 成人黄色网址大全 | 岛国毛片 | 亚洲精品2区 | 日韩中文字幕在线视频 | 免费高潮视频95在线观看网站 | 日韩中文字幕在线观看 | 欧洲色 | 中文字字幕一区二区三区四区五区 | 国产日韩av一区二区 | 91久久精品一区二区二区 | 国产欧美一区二区三区国产幕精品 | 欧美全黄 | 精品国产一区三区 | 国产99久久精品一区二区永久免费 | 日韩欧美精品 | 亚洲综合天堂网 |