亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 分享一個單片機按鍵抬起不用死等的代碼 [打印本頁]

作者: 非凡科技    時間: 2021-5-23 18:03
標題: 分享一個單片機按鍵抬起不用死等的代碼
我們經常用到按鍵抬起檢測,很多人用while(!key)程序走到這里會死等,影響效率。分享一個不用死等的代碼,實際用著還不錯。代碼如下
if(key==0&&key_sign==0) //檢測輸入如果為0(按鍵按下)并且按鍵標志為0.
        {
                   delay(10);  //抗抖延時                  

                      key_sign=1; //按鍵狀態標志置1。        

        }
              if(key==1&&key_sign==1)//如果松開按鍵
              {
                 key_sign=0;//按鍵狀態標志置0。
                           //寫執行的程序。
                                                      
                }        


作者: 崇慶陽光    時間: 2021-5-23 18:27
好思路
作者: man1234567    時間: 2021-5-23 18:35
為何不在中斷中用 ?
作者: dzbj    時間: 2021-5-24 01:22
man1234567 發表于 2021-5-23 18:35
為何不在中斷中用 ?

因為中斷資源少 而且按鍵沒必要
作者: robinsonlin    時間: 2021-5-24 16:32
在按鍵檢測過程中用delay 有很多弊端,如下解決方法,即可防止抖動,又可調節按鍵手感,更加不會出現while(!key)的尷尬。  而且資源占用少。
switch(key)
{
    case 0:
        if((Systick-Tpress)<100) break;
        //------------按鍵響應操作
        Tpress = Systick;
    break;
    case 1:
        Tpress = Systick;
    break;
}
Systick和Tpress是什么變量? 不做解釋了,不懂的看多點例程就知道了。
作者: nqwang    時間: 2021-5-26 00:09
mark,如果可以的話,按鍵用帶中斷的IO是最方便的,
作者: dzbj    時間: 2021-5-26 10:26
我還是覺得用定時器好點 一個定時器中斷可以給多個變量累加 中斷只有2 擴展了也沒幾個 相比中斷資源比定時器寶貴 一個按鍵就用中斷有點可惜
作者: 1588848    時間: 2021-8-30 20:24
  delay(10);  //抗抖延時  這就是瞎胡鬧
作者: 188610329    時間: 2021-9-1 20:49
delay(10) 抗抖這個,和 While 等按鍵抬起,半斤八兩。不管你括號里的10代表什么,真要達到消抖的效果至少需要10毫秒。用死等消抖,和等按鍵抬起其實是同根同源。
真要不死等,就是定時器計數,連續5次為0表示確實按下,為1的時候就是釋放,計數到200就標記為長按。

作者: hewayking    時間: 2021-9-7 10:15
我見過的 大師板子都是硬件加個104電容消抖  不差那幾分錢




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1