XJASGJFH 发表于 2017-9-6 10:33:25

关于stm32f407外部中断的容易干扰的问题

我是刚刚学习stm32单片机的,在使用外部中断的时候遇到一个问题,单片机的IO口如果配置为输入模式,中断极其容易触发,手随便摸一下就会触发,尝试过外部加电容下拉电阻都不行。最后将IO口配置为输出模式,一下就正常了,再也不乱触发了。我觉得很奇怪,对于中断应该属于输入时间,为何要将IO配置为输出模式才可行呢。顺便一提不知道为何关于外部中断容易干扰的问题,网上居然没有明确方案,都是在哪里说加电阻电容施密特触发器的。

XJASGJFH 发表于 2017-9-6 10:53:04

没人来,我自己顶一顶

xushi_123 发表于 2017-9-6 13:39:36

帮忙顶顶。说不定技术支持就来了;P;P;P;P;P

XJASGJFH 发表于 2017-9-6 14:36:14

技术支持,在哪里啊,帮我解答下我的疑惑吧!万分感谢

XJASGJFH 发表于 2017-9-6 16:47:47

这里不如发邮件来的快

zhuri_1 发表于 2017-9-7 14:44:56

内部上下拉配一下看看

zhjb1 发表于 2017-10-27 07:08:06

外触发有多种:信号、按键、等。仅就这两种输入性的做一讨论。
信号分成短脉冲或长脉冲,前者时间短设置为nS级别或以下,后者较长多为mS或以上级别的。短脉冲有系统响应时间问题,因此有时需要扩展脉宽,采用施密特类型的门电路是非常好的选择,它本身就可以将脉宽稍稍扩宽,如果合理设计可以扩得更宽;关键的一点是由于施密特门电路的特性[内部实际上是RS触发器],对消除无效的尖峰干扰是有好处的。对于宽脉冲除了可以采用施密特之外,还可以采用其他的RC电路来消除干扰。而像按键之类的,机械接触点的天然抖动,但由于速度很慢多为数mS或更大,采用施密特电路或采用RC点路消抖就够了。如果连接点距离很近,施密特门电路1~2个就够了;如果距离较远,需要考虑采用RC或光耦电路。仅供参考。

yygkqzh 发表于 2017-10-27 08:28:06

加外部上拉即可

无薪税绵 发表于 2017-10-27 09:15:46

IO口配置成输入模式后,触发模式有以下四种:
模拟输入、浮空输入、带下拉输入、带上拉输入 

一般情况下检测低电平的话,检测口是用上拉输入,
但楼主要,根据实际情况配置。

还有,中断线的触发方式配置: 
下降沿触发、上升沿触发、任意电平触发,
如果是低电平检测,就要选择下降沿触发。

还有一个,进入中断后,建议做一个延时检测,
如果在20ms内,电平保持没有变化,就认为中断有效,
否则,就认为中断无效。

如果以上都做好了,但干扰还是存在,那就检测硬件是否存在问题了。

wenyangzeng 发表于 2017-10-27 09:58:50

本帖最后由 wenyangzeng 于 2017-10-27 10:31 编辑

用手摸IO口来判断容易受干扰与否有点不科学。冬天气候干燥易产生静电说不定CPU就挂了。
页: [1] 2
查看完整版本: 关于stm32f407外部中断的容易干扰的问题