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

標(biāo)題: 求助單片機C語言按鍵的不同時間長按識別程序 [打印本頁]

作者: 1314love    時間: 2023-3-20 14:08
標(biāo)題: 求助單片機C語言按鍵的不同時間長按識別程序
請問怎么寫3s識別一次長按,Led燈亮,4秒也實現(xiàn)一次長按,Led燈滅。而且不能按鍵松開才執(zhí)行效果,不能用任何循環(huán)語句(while或者for循環(huán)),只能用判斷語句來識別.
作者: zhuls    時間: 2023-3-20 14:34
3秒和4秒的差別,一個開一個關(guān),普通人實操時還真掐不準(zhǔn)這時間。。。不能用循環(huán),就用定時器計數(shù)吧~~
作者: xunzhaod    時間: 2023-3-20 14:38
void keyscan()
{
   if(keydownd)
{
  timercnt++;
  if(timercnt > 3000)
  {
     timercnt  = 0;
     led_on();
  }
}
else
{
timercnt  = 0;
}
}
作者: 188610329    時間: 2023-3-20 16:49
不松開才執(zhí)行,怎么在三秒的時候知道你不是打算按4秒呢?你不覺得這個要求前后矛盾么?
作者: 天ノ憶    時間: 2023-3-20 17:29
0秒的時候檢測按下,
三秒的時候檢測松開,如果松開用個標(biāo)志位記下,
四秒的時候檢測松開,如果松開再用個標(biāo)志位記下,
檢測完了根據(jù)這兩個標(biāo)志位就知道一共按了三秒還是4秒了。

當(dāng)然,這個方法即時性不高,你可以提高檢測頻率從而提高即時性
作者: zhouwang4135463    時間: 2023-3-20 19:57
最好是使用定時器實現(xiàn)會比較方便
作者: wulin    時間: 2023-3-21 07:00
設(shè)計按鍵短按長按本身不是什么難題,問題是邏輯上要能說得通。長按不等按鍵松開就執(zhí)行效果也很簡單。但你按下時間達3秒,單片機如何判斷你想按3秒還是4秒必須有另一個判斷條件,否則辦不到。比如按下時間達3秒,查詢LED狀態(tài),LED狀態(tài)滅則開亮,否則等待到達4秒時關(guān)閉。
作者: 人中狼    時間: 2023-3-21 08:01
這是純粹的偷懶,想通過單一的東西獲得多個結(jié)果,最后只得到一個大麻煩

作者: coody_sz    時間: 2023-3-21 09:59
檢測到按下,計數(shù)即可,超級簡單
作者: cxxx180    時間: 2023-3-21 11:24
MultiButton你值得擁有g(shù)ithub.com/0x1abin/MultiButton
作者: 18680365301    時間: 2023-4-4 17:54
//10ms內(nèi)處理
if(Key1_IO == 0)
{
    if(Key_Count != 0xffff)
   {
     Key_Count++;
   }
    if(Key_Count == 300)
    {
      Led_IO = ON;
    }
    if(Key_Count == 400)
    {
     Led_IO = OFF;
    }
}
else

{
   Key_Count = 0;

}


作者: rctty    時間: 2023-4-6 14:41
這樣吧,直接開一個定時器的輸入捕獲通道,然后再讀捕獲到的電平時間,就能判斷是3秒還是4秒了;當(dāng)然,確保你的按鍵沒有抖動,但機械按鍵沒抖動好像不太可能,那就吧抖動忽略,畢竟對于3、4秒來說抖動是很短暫的
作者: rayin    時間: 2023-4-8 08:17
用定時器1ms中斷計時, 加狀態(tài)機就可以實現(xiàn)按鍵防抖功能以及單按,長按,雙擊,等功能.
作者: li64331218    時間: 2023-4-8 10:20
不知道要實現(xiàn)什么效果,如果按著一直不動,按你的要求會看到燈亮一下就滅掉。然后就沒有了。除非松開 再重新長按。可以開個定時器來實現(xiàn),10ms中斷。




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