找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9879|回复: 5
打印 上一主题 下一主题
收起左侧

STM32 外部中断 消抖和无消抖 求解惑

[复制链接]
跳转到指定楼层
楼主
ID:167675 发表于 2017-4-8 18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//消抖        外部中断3服务程序
void EXTI3_IRQHandler(void)
{
        delay_ms(10);//消抖
        if(KEY1==0)         //按键KEY1
        {                                 
                LED1=!LED1;
        }                 
        EXTI_ClearITPendingBit(EXTI_Line3);  //清除LINE3上的中断标志位  
}
//  无消抖  
void EXTI3_IRQHandler(void)
{
     if(EXTI_GetITStatus(EXTI_Line3)!=RESET)    //判断标号3线上的中断是否发生
     {
         LED1=!LED1;
         EXTI_ClearITPendingBit(EXTI_Line3); //清除 LINE 上的中断标志位
    }
}  


不管消不消抖,只要外部中断按键发生上升沿或下降沿 电平变化,中断不就发生了吗,所以第二个不消抖的,还判断中端是否发生不就没意义了吗?已经进入中断了 标志位就已经置位了,还检测 无意义啊、、

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2017-4-8 21:59 | 只看该作者
不用问别人,你把抖动,看成是按了三次、四次按键、N次按钮。
评估一下,与只按一次有何区别?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:167675 发表于 2017-4-10 18:05 | 只看该作者
yzwzfyz 发表于 2017-4-8 21:59
不用问别人,你把抖动,看成是按了三次、四次按键、N次按钮。
评估一下,与只按一次有何区别?

不懂
回复

使用道具 举报

地板
ID:187614 发表于 2017-4-10 20:00 | 只看该作者
基本上软件消抖都是用延时来处理,亦即防止意外电平变化,真实按键在上百ms,延时10~20ms再判断意义重大。
回复

使用道具 举报

5#
ID:188289 发表于 2017-4-10 22:25 | 只看该作者
如果你不消抖,可能在100ms内触发很多次,如果触发一次小灯变化一次状态,没有消抖,你按下可能出发了很多次,就没有意义了
回复

使用道具 举报

6#
ID:188312 发表于 2017-4-10 23:12 | 只看该作者
多次判断
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表