你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
关于stm32f407外部中断的容易干扰的问题
[复制链接]
XJASGJFH
提问时间:2017-9-6 10:33 /
我是刚刚学习stm32单片机的,在使用外部中断的时候遇到一个问题,单片机的IO口如果配置为输入模式,中断极其容易触发,手随便摸一下就会触发,尝试过外部加电容下拉电阻 都不行。最后将IO口配置为输出模式,一下就正常了,再也不乱触发了。我觉得很奇怪,对于中断应该属于输入时间,为何要将IO配置为输出模式才可行呢。顺便一提不知道为何关于外部中断容易干扰的问题,网上居然没有明确方案,都是在哪里说加电阻电容施密特触发器的。
赞
0
收藏
1
评论
13
分享
发布时间:2017-9-6 10:33
举报
请先
登录
后回复
13个回答
XJASGJFH
回答时间:2017-9-6 10:53:04
a0a.1 32b0c
没人来,我自己顶一顶
赞
0
评论
回复
支持
反对
xushi_123
回答时间:2017-9-6 13:39:36
a0a.1 32b0c
帮忙顶顶。说不定技术支持就来了
赞
0
评论
回复
支持
反对
XJASGJFH
回答时间:2017-9-6 14:36:14
a0a.1 32b0c
技术支持,在哪里啊,帮我解答下我的疑惑吧!万分感谢
赞
0
评论
回复
支持
反对
XJASGJFH
回答时间:2017-9-6 16:47:47
a0a.1 32b0c
这里不如发邮件来的快
赞
0
评论
回复
支持
反对
zhuri_1
回答时间:2017-9-7 14:44:56
a0a.1 32b0c
内部上下拉配一下看看
赞
0
评论
回复
支持
反对
zhjb1
回答时间:2017-10-27 07:08:06
a0a.1 32b0c
外触发有多种:信号、按键、等。仅就这两种输入性的做一讨论。
信号分成短脉冲或长脉冲,前者时间短设置为nS级别或以下,后者较长多为mS或以上级别的。短脉冲有系统响应时间问题,因此有时需要扩展脉宽,采用施密特类型的门电路是非常好的选择,它本身就可以将脉宽稍稍扩宽,如果合理设计可以扩得更宽;关键的一点是由于施密特门电路的特性[内部实际上是RS触发器],对消除无效的尖峰干扰是有好处的。对于宽脉冲除了可以采用施密特之外,还可以采用其他的RC电路来消除干扰。而像按键之类的,机械接触点的天然抖动,但由于速度很慢多为数mS或更大,采用施密特电路或采用RC点路消抖就够了。如果连接点距离很近,施密特门电路1~2个就够了;如果距离较远,需要考虑采用RC或光耦电路。仅供参考。
评分
参与人数
1
ST金币
+5
收起
理由
zero99
+ 5
查看全部评分
赞
0
评论
回复
支持
反对
yygkqzh
回答时间:2017-10-27 08:28:06
a8a.1 32b0c
加外部上拉即可
赞
0
评论
回复
支持
反对
无薪税绵
回答时间:2017-10-27 09:15:46
a0a.1 32b0c
IO口配置成输入模式后,触发模式有以下四种:
模拟输入、浮空输入、带下拉输入、带上拉输入
一般情况下检测低电平的话,检测口是用上拉输入,
但楼主要,根据实际情况配置。
还有,中断线的触发方式配置:
下降沿触发、上升沿触发、任意电平触发,
如果是低电平检测,就要选择下降沿触发。
还有一个,进入中断后,建议做一个延时检测,
如果在20ms内,电平保持没有变化,就认为中断有效,
否则,就认为中断无效。
如果以上都做好了,但干扰还是存在,那就检测硬件是否存在问题了。
评分
参与人数
1
ST金币
+5
收起
理由
zero99
+ 5
查看全部评分
赞
0
评论
回复
支持
反对
wenyangzeng
回答时间:2017-10-27 09:58:50
a0a.1 32b0c
本帖最后由 wenyangzeng 于 2017-10-27 10:31 编辑
用手摸IO口来判断容易受干扰与否有点不科学。冬天气候干燥易产生静电说不定CPU就挂了。
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
wolfgang
回答时间:2017-10-27 22:09:53
a0a.1 32b0c
是否没有作滤波?
赞
0
评论
回复
支持
反对
五哥1
回答时间:2017-10-28 01:35:34
a1024a.1 32b0c
9楼正解
赞
0
评论
回复
支持
反对
asmhai
回答时间:2017-10-30 05:48:31
a0a.1 32b0c
签到签到,早上好!
赞
0
评论
回复
支持
反对
adeli
回答时间:2017-12-20 11:11:28
a0a.1 32b0c
干扰最大可能就是硬件电路不稳定产生的
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
信号分成短脉冲或长脉冲,前者时间短设置为nS级别或以下,后者较长多为mS或以上级别的。短脉冲有系统响应时间问题,因此有时需要扩展脉宽,采用施密特类型的门电路是非常好的选择,它本身就可以将脉宽稍稍扩宽,如果合理设计可以扩得更宽;关键的一点是由于施密特门电路的特性[内部实际上是RS触发器],对消除无效的尖峰干扰是有好处的。对于宽脉冲除了可以采用施密特之外,还可以采用其他的RC电路来消除干扰。而像按键之类的,机械接触点的天然抖动,但由于速度很慢多为数mS或更大,采用施密特电路或采用RC点路消抖就够了。如果连接点距离很近,施密特门电路1~2个就够了;如果距离较远,需要考虑采用RC或光耦电路。仅供参考。
评分
查看全部评分
模拟输入、浮空输入、带下拉输入、带上拉输入
一般情况下检测低电平的话,检测口是用上拉输入,
但楼主要,根据实际情况配置。
还有,中断线的触发方式配置:
下降沿触发、上升沿触发、任意电平触发,
如果是低电平检测,就要选择下降沿触发。
还有一个,进入中断后,建议做一个延时检测,
如果在20ms内,电平保持没有变化,就认为中断有效,
否则,就认为中断无效。
如果以上都做好了,但干扰还是存在,那就检测硬件是否存在问题了。
评分
查看全部评分
用手摸IO口来判断容易受干扰与否有点不科学。冬天气候干燥易产生静电说不定CPU就挂了。
评分
查看全部评分