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

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

3天内不再提示

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

CHANBAEK 来源:撞上电子 作者:墨竹公子 2023-11-23 17:09 次阅读

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

1,上下拉

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

图片

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

2,中断延迟检测

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

图片

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

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

图片

4,施密特滞留器

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

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

图片

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

图片

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

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

    关注

    16

    文章

    1045

    浏览量

    48969
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79547
  • 触发器
    +关注

    关注

    14

    文章

    1681

    浏览量

    60406
  • 外围电路
    +关注

    关注

    7

    文章

    70

    浏览量

    33192
  • 外部中断
    +关注

    关注

    1

    文章

    131

    浏览量

    15597
收藏 人收藏

    评论

    相关推荐

    EXTI重复配置两次导致误触发中断的问题

    最近在调试按键作为外部中断exti进行触发动作,发现每次按键按下和按键抬起都会多次进入中断函数,造成程序不稳定,经过反复调试和查阅资料,最后终于已经把这个问题解决,现在总结一下:1、E
    发表于 08-13 07:03

    STM32F103外部中断容易误触发原因及办法

    在脉冲群的干扰下,STM32F103外部中断容易误触发,可以在外部中断引脚放置RC滤波器,减少干扰。
    发表于 08-13 07:48

    EXIT外部中断按键的误触发问题

    EXIT外部中断 按键的误触发问题最近在调试按键作为外部中断exti进行触发动作,发现每次...
    发表于 08-16 06:46

    在脉冲群的干扰下STM32F103外部中断容易误触发怎么解决?

    在脉冲群的干扰下STM32F103外部中断容易误触发怎么解决?
    发表于 11-16 07:11

    外部中断0电平触发

    外部中断0电平触发 C51单片机源码,KEIL源文件,C语言编写
    发表于 06-20 16:36 9次下载

    外部中断1电平触发

    外部中断1电平触发 C51单片机源码,KEIL源文件,C语言编写
    发表于 06-20 16:36 5次下载

    外部中断0下降沿触发

    外部中断0下降沿触发 C51单片机源码,KEIL源文件,C语言编写
    发表于 06-20 16:36 11次下载

    外部中断1下降沿触发

    外部中断1下降沿触发 C51单片机源码,KEIL源文件,C语言编写
    发表于 06-20 16:36 52次下载

    假焊的原因和解决方法

    在电子原件焊接过程中,焊点表面上好像焊接成功,但实际上并没有焊住,有时用手一拨,引线就可以从焊接点中拨出,这种现象称为假焊。假焊的原因和解决方法说明如下
    发表于 04-30 15:18 3w次阅读

    STM32外部中断边沿触发存在延时问题

    STM32外部中断时延问题概括:通过软件调试,示波器观察的方式,来分析外部中断存在时延的原因。在
    发表于 12-27 18:27 20次下载
    STM32<b class='flag-5'>外部</b><b class='flag-5'>中断</b>边沿<b class='flag-5'>触发</b>存在延时问题

    变频器过热的故障原因和解决方法

    变频器过热的故障原因和解决方法
    的头像 发表于 10-24 10:09 1950次阅读

    DCDC电路过流(输入电压)的原因分析和解决方法

    DCDC电路过流(输入电压)的原因分析和解决方法  DC-DC(直流-直流)电路是将一种直流电压转换成另一种直流电压的电路。因其效率高、可靠性高、动态响应快等特点,广泛应用于电子设备、通讯设备
    的头像 发表于 10-29 16:28 2668次阅读

    外部中断为什么会误触发

    今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发
    的头像 发表于 11-23 08:00 492次阅读
    <b class='flag-5'>外部</b><b class='flag-5'>中断</b>为什么会<b class='flag-5'>误触发</b>?

    步进电机丢步的原因和解决方法

    步进电机丢步的原因和解决方法 步进电机是一种常见的电动机类型,特点是可以实现精确的位置控制和旋转运动。然而,在实际使用过程中,步进电机有时会出现丢步的现象,即无法按照预定步长准确移动。这种情况可能会
    的头像 发表于 02-01 16:32 1190次阅读

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

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