大家在进行MCU项目开发时是否碰到过EXTI外部中断在错误的边沿误触发的情况?比如EXTI配置的为下降沿触发,实际情况在个别上升沿的时候也被误触发了。
这个异常现象编者之前碰到过一次,期望上升沿触发EXTI中断,却概率性的出现下降沿也被误触发了中断,经过排查发现,发生异常情况下的下降沿比较缓,且下降过程中有波动,类似下图情况,该毛刺被MCU捕获到,误识别为一个上升沿进而误触发了EXTI中断。
GD32 MCU的输入高电平识别为高于0.7VDD,低电平识别为低于0.3VDD,在中间电平波动更容易被误触发中断。
解决方法上,可以有以下选择:1、硬件方式解决:增加滤波电容,滤除错误边沿的毛刺;调整边沿斜率,让引脚电平更快跳变,减少在中间电平阶段的时间;2、软件方式解决:增加软件滤波,进入中断后延迟进行读取引脚电平状态,如果为错误的电平状态,即可认为一个异常的毛刺干扰,丢弃当次状态处理。
以上即为本期讲解,如有问题或建议,欢迎评论区讨论。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6039文章
44573浏览量
636294 -
嵌入式
+关注
关注
5086文章
19142浏览量
306020
发布评论请先 登录
相关推荐
EXTI重复配置两次导致误触发中断的问题
的程序中,在使用 EXTI 之前再调用了一次EXTI15_10_Config()将 PC13 设置为外部中断口。调试运行的时候,发现 PC1
发表于 09-28 15:42
【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(4)EXTI 中断介绍
EXTI(中断/事件控制器)包含多个相互独立的边沿检测威廉希尔官方网站
并且能够向处理器内核产生中断请求或唤醒事件。 EXTI 有三种
评论