欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1829|回復: 7
收起左側

發一個按鍵檢測程序的經典寫法

[復制鏈接]
ID:598611 發表于 2023-10-27 09:45 | 顯示全部樓層 |閱讀模式
  1. void scankey(void)
  2. {
  3.            if(pin_key)
  4.            {
  5.                       if(key.up&2)
  6.                       {
  7.                                  if ((key.cnt>=2)&&(key.cnt<=50)){key.data=2;}  //短按
  8.                                  key.cnt=0;
  9.                       }
  10.                       else    {key.up++;}          
  11.            }
  12.   else
  13.   {
  14.            if(key.cnt<255){key.cnt++;}           
  15.            if(key.cnt>=2)
  16.            {
  17.                       key.up=0;
  18.                       if(key.cnt==120) { key.data=1;}  //長按3S
  19.            }
  20.   }  
  21. }

  22. /*=========================================================*/
  23. void scankey(void)
  24. {
  25.         u8 i=0;
  26.         if(key.buf&1) {i++;}
  27.         if(key.buf&2) {i++;}
  28.         if(i==0)
  29.         {               
  30.           if(key.up&4)
  31.           {
  32.                   if((key.cnt>=3)&&(key.cnt<=100)&&key.onoff_flag){key.data=1;}
  33.                   key.cnt=0;
  34.                   key.all=0;
  35.                   key.onoff_flag=0;
  36.                  }
  37.                 else        {key.up++;}                       
  38.         }
  39.         else if(i>=2)
  40.   {
  41.                 if(key.all&4){key.cnt=0;key.up=0;key.onoff_flag=0;}
  42.                 else        {key.all++;}       
  43.   }       
  44.   else
  45.   {
  46.     if(key.cnt<255){key.cnt++;}
  47.           if(key.cnt>=3)
  48.           {
  49.                   key.up=0;
  50.                   if(key.all<3)
  51.                   {
  52.                           if(key.buf==1){key.onoff_flag=1;}
  53.                           if((key.cnt==150)&&(key.buf==1)){key.data=3;}
  54.                           if((key.cnt==3)&&(key.buf==2))  {key.data=2;}       
  55.                   }                                                       
  56.           }       
  57.   }                         
  58. }
  59.        



復制代碼


評分

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

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:227818 發表于 2023-10-27 13:33 | 顯示全部樓層
樓主您好,您能補充一下程序的執行思路嗎?
回復

使用道具 舉報

ID:1097455 發表于 2023-10-27 14:08 | 顯示全部樓層
newlined 發表于 2023-10-27 13:33
樓主您好,您能補充一下程序的執行思路嗎?

私信我手把手教學,包教包會
回復

使用道具 舉報

ID:672792 發表于 2023-10-27 15:03 | 顯示全部樓層
如果有注釋就更好了
回復

使用道具 舉報

ID:276663 發表于 2023-10-27 16:11 | 顯示全部樓層
我有一個問題請教一下,四個按鍵分別控制四個燈,四個按鍵又都有長按和短按,還有雙擊,這個程序末班支持嗎?
回復

使用道具 舉報

ID:1097455 發表于 2023-10-27 17:41 | 顯示全部樓層
IdeaMing 發表于 2023-10-27 16:11
我有一個問題請教一下,四個按鍵分別控制四個燈,四個按鍵又都有長按和短按,還有雙擊,這個程序末班支持嗎 ...

當然支持,變則通
回復

使用道具 舉報

ID:598611 發表于 2023-10-27 19:15 | 顯示全部樓層
IdeaMing 發表于 2023-10-27 16:11
我有一個問題請教一下,四個按鍵分別控制四個燈,四個按鍵又都有長按和短按,還有雙擊,這個程序末班支持嗎 ...

這個程序有短按,長按,雙擊
回復

使用道具 舉報

ID:275826 發表于 2023-10-28 08:47 | 顯示全部樓層
寫的不錯,不過有點復雜了
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表