[STM32F0] 除了延时防抖动之外,有其它方法吗?

[复制链接]
1162|12
 楼主| morrisk 发表于 2017-2-24 22:04 | 显示全部楼层 |阅读模式
将IO口设定为外部上升沿触发。如果外部信号本身存在毛刺,则怎样防止stm32内部多次进入中断函数?
pengf 发表于 2017-2-24 22:05 | 显示全部楼层
阻容滤波
supernan 发表于 2017-2-24 22:06 | 显示全部楼层
软件解决不好,关键是硬件处理!
houcs 发表于 2017-2-24 22:09 | 显示全部楼层
关于外部中断的一些问题,上拉电阻,抗干扰等 曾经做过一个用光电对管测试码盘的转速的项目,里面用到外部中断。光电对管产生脉冲 基本操作是,一个全局变量,外部中断的时候加一,定时器定时一秒取这个数。 结果我发现,用手碰一下中断脚就会中断上百次。 后来我在中断脚前面加了一个反相器74ls14,同时加上一个电容,才解决问题,这里74ls14起到个延时作用,如果达不到足够74ls14输出的时间就是干扰。 尝试了多次,电容小了,抗干扰能力不行,电容大了,信号不准确。 使用外部中断的时候注意,对应引脚一定要设置为输入 DDR 设置为0,如果要使能内部上拉电阻,PORT设为1。 一点经验,欢迎讨论。
liuzaiy 发表于 2017-2-24 22:10 | 显示全部楼层
摘抄的,我现在也遇到同样的问题,郁闷,正在想办法解决,你有进展了吗
pangb 发表于 2017-2-24 22:11 | 显示全部楼层
好像NXP的有软件滤波功能,ST的没有
chenjunt 发表于 2017-2-24 22:12 | 显示全部楼层
ST的TIMER模块,在输入捕获通道,来自外部引脚的信号都有软件滤波功能。
zyf部长 发表于 2017-2-24 22:13 | 显示全部楼层
如果是对外部信号的上升沿进行捕捉,产生中断,而外部信号有毛刺的情况下,可以使用上述的功能。
xxmmi 发表于 2017-2-24 22:13 | 显示全部楼层
我曾经也是这样做的,并且也挺好的,只是偶尔也产生点误判,于是我用了两个,便很好了
zwll 发表于 2017-2-24 22:14 | 显示全部楼层
我就是用的这个方法,光电开关出来先经过74hc14,在经过电容滤波,效果还行,不过还是偶尔有误判,正在改变电容解决问题
chuxh 发表于 2017-2-24 22:15 | 显示全部楼层
曾经用导线将外部中断引脚对地短路,只要导线长度大于15CM,用电烙铁在附近插板上反复插拔,都会引起中断,最后用光耦隔离且光耦必须尽可能靠近中断引脚干扰才基本消除
stly 发表于 2017-2-24 22:16 | 显示全部楼层
以前试过用导线直接将中断引脚对地短路,用电烙铁在附近插板上反复插拔干扰还是存在,最后用光耦隔离干扰才被消除,光耦要尽可能靠近中断引脚。
 楼主| morrisk 发表于 2017-2-24 22:19 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家,结贴了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部