找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

STM32 外部中斷 消抖和無消抖 求解惑

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:167675 發(fā)表于 2017-4-8 18:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
//消抖        外部中斷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)號(hào)3線上的中斷是否發(fā)生
     {
         LED1=!LED1;
         EXTI_ClearITPendingBit(EXTI_Line3); //清除 LINE 上的中斷標(biāo)志位
    }
}  


不管消不消抖,只要外部中斷按鍵發(fā)生上升沿或下降沿 電平變化,中斷不就發(fā)生了嗎,所以第二個(gè)不消抖的,還判斷中端是否發(fā)生不就沒意義了嗎?已經(jīng)進(jìn)入中斷了 標(biāo)志位就已經(jīng)置位了,還檢測(cè) 無意義啊、、

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

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2017-4-8 21:59 | 只看該作者
不用問別人,你把抖動(dòng),看成是按了三次、四次按鍵、N次按鈕。
評(píng)估一下,與只按一次有何區(qū)別?

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:167675 發(fā)表于 2017-4-10 18:05 | 只看該作者
yzwzfyz 發(fā)表于 2017-4-8 21:59
不用問別人,你把抖動(dòng),看成是按了三次、四次按鍵、N次按鈕。
評(píng)估一下,與只按一次有何區(qū)別?

不懂
回復(fù)

使用道具 舉報(bào)

地板
ID:187614 發(fā)表于 2017-4-10 20:00 | 只看該作者
基本上軟件消抖都是用延時(shí)來處理,亦即防止意外電平變化,真實(shí)按鍵在上百ms,延時(shí)10~20ms再判斷意義重大。
回復(fù)

使用道具 舉報(bào)

5#
ID:188289 發(fā)表于 2017-4-10 22:25 | 只看該作者
如果你不消抖,可能在100ms內(nèi)觸發(fā)很多次,如果觸發(fā)一次小燈變化一次狀態(tài),沒有消抖,你按下可能出發(fā)了很多次,就沒有意義了
回復(fù)

使用道具 舉報(bào)

6#
ID:188312 發(fā)表于 2017-4-10 23:12 | 只看該作者
多次判斷
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表