標(biāo)題:
STM32 外部中斷 消抖和無消抖 求解惑
[打印本頁]
作者:
八仙
時間:
2017-4-8 18:14
標(biāo)題:
STM32 外部中斷 消抖和無消抖 求解惑
//消抖 外部中斷3服務(wù)程序
void EXTI3_IRQHandler(void)
{
delay_ms(10);//消抖
if(KEY1==0) //按鍵KEY1
{
LED1=!LED1;
}
EXTI_ClearITPendingBit(EXTI_Line3); //清除LINE3上的中斷標(biāo)志位
}
// 無消抖
void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3)!=RESET) //判斷標(biāo)號3線上的中斷是否發(fā)生
{
LED1=!LED1;
EXTI_ClearITPendingBit(EXTI_Line3); //清除 LINE 上的中斷標(biāo)志位
}
}
不管消不消抖,只要外部中斷按鍵發(fā)生上升沿或下降沿 電平變化,中斷不就發(fā)生了嗎,所以第二個不消抖的,還判斷中端是否發(fā)生不就沒意義了嗎?已經(jīng)進入中斷了 標(biāo)志位就已經(jīng)置位了,還檢測 無意義啊、、
作者:
yzwzfyz
時間:
2017-4-8 21:59
不用問別人,你把抖動,看成是按了三次、四次按鍵、N次按鈕。
評估一下,與只按一次有何區(qū)別?
作者:
八仙
時間:
2017-4-10 18:05
yzwzfyz 發(fā)表于 2017-4-8 21:59
不用問別人,你把抖動,看成是按了三次、四次按鍵、N次按鈕。
評估一下,與只按一次有何區(qū)別?
不懂
作者:
51Lovers
時間:
2017-4-10 20:00
基本上軟件消抖都是用延時來處理,亦即防止意外電平變化,真實按鍵在上百ms,延時10~20ms再判斷意義重大。
作者:
caojunchocjc
時間:
2017-4-10 22:25
如果你不消抖,可能在100ms內(nèi)觸發(fā)很多次,如果觸發(fā)一次小燈變化一次狀態(tài),沒有消抖,你按下可能出發(fā)了很多次,就沒有意義了
作者:
13560380305
時間:
2017-4-10 23:12
多次判斷
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1