0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

外部中断为什么会误触发?

撞上电子 2023-11-23 08:00 次阅读

今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发,没有停过。经过一天的学习,找到了几个解决方法,所以写了这篇笔记。如果你的中断也时不时会误触发,可以对照找一下原因。

1,上下拉

中断的外围电路,该上拉的就上拉,该下拉就下拉,如下图:

60067dfa-8993-11ee-9788-92fbcf53809c.png

图中的BAT6_#CHRG和BAT6_#DONE是连接到MCU的2个中断引脚,其中R183已经是上拉3.3V了,D63和D64用于指示,并没有任何作用。除了上图的上拉,还需要一个对地的电容下拉,接到GND,这样就可以让信号没有毛刺。

2,中断延迟检测

在触发中断之后,延迟一段时间,然后去处理。个人认为不好,中断的好处就是实时性和优先级,现在在中断里面加Delay函数,不是和中断的初衷相悖吗?

6014b9ce-8993-11ee-9788-92fbcf53809c.png    

3,清除中断标志位或者开关中断源

网上有部分人也说,清除中断或者开关中断源,这样就可以释放中断,把中断“赶”出去,等下次中断,再让它“进”来,但是STM32的Cortex-M内核有一个问题,中断标志位清除之后,并不是马上清除,而是要等一会,这就导致清除标志位的方法不太可行,只能去开关中断源了。

6021391a-8993-11ee-9788-92fbcf53809c.png

4,施密特滞留器

这是网上上比较靠谱的一种方法,将施密特接到中断之后,MCU之前,保证进入中断的信号都是经过“滞留”的。施密特触发器分为两种类型,即反相施密特触发器和同相施密特触发器。反相施密特触发器可以定义为一个输出元件连接到运算放大器的正端。类似地,同相施密特触发器可以定义为输入信号在运算放大器的负端给出。

下图是反向施密特触发器的输入和输出的电压波形关系,其中输入也不一定是正弦函数,有可能是三角波甚至是方波,反正输出的电压是通过阈值来判断的。

6030f602-8993-11ee-9788-92fbcf53809c.png

使用NE555的施密特触发器电路图如下所示,下面的电路可以用基本的电子元件组成,但NE555是这个电路中必不可少的元件。NE555的两个引脚(例如引脚4和引脚8)都与VCC电源相连。两脚(如引脚2和引脚6)短接,通过电容将输入相提供给这些脚。

603a1a0c-8993-11ee-9788-92fbcf53809c.png

在上图中,电阻R1和R2形成的分压器提供外部偏置电压(VCC/2) ,阈值为1/3VCC和2/3VCC。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电子元件
    +关注

    关注

    94

    文章

    1018

    浏览量

    55854
  • 中断
    +关注

    关注

    5

    文章

    885

    浏览量

    41119
  • 外部中断
    +关注

    关注

    1

    文章

    131

    浏览量

    15713
收藏 人收藏

    评论

    相关推荐

    CS1237 中断触发读取问题

    你好,求一份CS1237的外部中断的51程序,目前我使用查询方式读取数据都是非常稳定的。现在用中断触发方式,触发后开启标志位并关闭
    发表于 06-27 01:56

    STM32F0外部中断容易误触发怎么解决?

    STM32F0的外部中断抗干扰能力太差了,经常误触发。旁边电烙铁开关按钮只要切换一次都会引起误触发,当然外部
    发表于 05-06 06:33

    CY8C4146管脚2配置为外部I/O中断,在刚上电时会误触发一次是为什么?怎么解决?

    在调试CY8C4146时,软件上配置一个外部IO下降沿触发中断,硬件如下,在管脚2配置为外部I/O中断,在刚上电时会
    发表于 02-21 06:35

    EXTI外部中断在错误的边沿误触发可能什么原因?

    大家在进行MCU项目开发时是否碰到过EXTI外部中断在错误的边沿误触发的情况?比如EXTI配置的为下降沿触发,实际情况在个别上升沿的时候也被误触发
    的头像 发表于 02-03 09:48 547次阅读
    EXTI<b class='flag-5'>外部</b><b class='flag-5'>中断</b>在错误的边沿<b class='flag-5'>误触发</b>可能什么原因?

    单片机中的外部中断低电平触发和下降沿触发有什么区别

    单片机中的外部中断低电平触发和下降沿触发有什么区别  外部中断是单片机中的一种功能,在特定条件下
    的头像 发表于 01-31 10:32 1707次阅读

    TC387 eru如果为上升沿配置外部输入中断,配置时引脚的值为高中断触发吗?

    如果为上升沿配置外部输入中断,如果配置时引脚的值为高,中断触发吗?还是必须将其推向低位然后再次被推高?
    发表于 01-30 08:08

    外部中断的工作原理 外部中断方式有哪些 为什么要使用外部中断

    外部中断的工作原理是单片机响应外部事件的一种机制** **。
    的头像 发表于 01-28 17:37 2418次阅读

    单片机外部中断和定时器中断的区别和用法

    单片机外部中断和定时器中断触发来源、应用场景以及功能特点上存在明显差异** **。
    的头像 发表于 01-28 17:35 1946次阅读

    外部中断有哪两种触发方式?如何选择和设定?

    外部中断有两种触发方式:电平触发和边沿触发** 。
    的头像 发表于 01-28 17:31 4100次阅读
    <b class='flag-5'>外部</b><b class='flag-5'>中断</b>有哪两种<b class='flag-5'>触发</b>方式?如何选择和设定?

    外部中断误触发的原因分析和解决方法

    今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发
    的头像 发表于 11-23 17:09 1845次阅读
    <b class='flag-5'>外部</b><b class='flag-5'>中断</b><b class='flag-5'>误触发</b>的原因分析和解决方法

    STM32外部中断大问题

    出现这种情况,明明没有触发外部中断,可是中断服务函数还是不断的++。问题一:电气噪声和抖动电气噪声和抖动是常见的问题,可能导致STM32的
    的头像 发表于 11-08 08:00 979次阅读
    STM32<b class='flag-5'>外部</b><b class='flag-5'>中断</b>大问题

    比较器没迟滞误触发怎么通过外围参数改善?

    比较器没迟滞误触发怎么通过外围参数改善? 比较器的作用是将两个输入的信号进行比较,输出一个数字化的结果,用于控制电路的变化。然而,有些时候比较器可能产生一些不必要的误触发,这种情况下需要通过外围
    的头像 发表于 10-31 14:48 351次阅读

    STM32如何配置外部中断?STM32外部中断配置步骤

    触发或上升沿触发外部中断线。这些中断线可以通过中断线控制器(EXTI)进行设置,并可以绑定到不
    的头像 发表于 10-26 17:47 2615次阅读

    STM32单片机外部中断简介 STM32单片机外部中断的配置过程

    STM32 单片机是一款高性能、低功耗的 32 位微控制器,具有强大的计算能力、灵活的外设模块以及优秀的扩展性,开发周期短、成本低。在单片机应用中,外部中断是一种重要的硬件触发方式,本文将对 STM32 单片机的
    发表于 08-15 18:21 2471次阅读

    STM32CUBEIDE(14)----外部中断EXTI

    外部中断和事件控制器 (EXTI) 管理外部和内部异步事件 / 中断,并生成相应的事件请求到CPU/ 中断控制器和到电源管理的唤醒请求。本例
    的头像 发表于 07-26 14:33 1094次阅读
    STM32CUBEIDE(14)----<b class='flag-5'>外部</b><b class='flag-5'>中断</b>EXTI