你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32外部中断线【9:5】如何区分

[复制链接]
与龙共舞 提问时间:2019-2-26 09:38 /
本帖最后由 与龙共舞 于 2019-2-28 10:30 编辑

昨天开发遇到一个问题 暂时没有解决 拿出来问问大神
111111111111111.png
硬件做了一个板子 PC6 PC7外面是2个独立按键 按下去的时候就接地 电平拉低
所以MX我做工程就是按照一般的外部中断写的,简单完成了一个测试函数,
然后问题出来了。。。。。他们在一个中断服务函数里面
以前我一直觉得 也没关系啊 到中断里面在区分啊
昨天试了试 按下一个按键的话 2个中断都会过来
有点蒙蔽

问题解决了,我以前的基本观点是正确的,换了一个MCU芯片就好了,可以硬件IO口有问题。
1--【9:5】是可以区分的 在里面在去读那个IO是低电平
2--都是一路的是不行的 比如PA0 PB0都做了中断线 如果认为中断过来以后去读电平可以区分 那就错了 因为。。。根本无法触发中断
收藏 评论2 发布时间:2019-2-26 09:38

举报

2个回答
sylar.z 回答时间:2019-2-26 10:06:35
按键检测有没有做防抖动。没有的话容易产生多次触发

评分

参与人数 1蝴蝶豆 +1 收起 理由
STMCU + 1

查看全部评分

toofree 回答时间:2019-2-26 10:30:21
本帖最后由 toofree 于 2019-2-26 10:58 编辑

按键外部原理是什么样的?按键中断,IO配置使用了下拉,是否合适?
GPIO_InitStruct.Pull = GPIO_PULLDOWN;

检测按键按下状态,一般是上拉时,检测低电平或下降沿;下拉时,检测高电平或上升沿。
你是用了下降沿,内部也用了下拉。也不排除你检测按键抬起事件。

如果你非要用内部下拉也是可以的,那么外部就得是强上拉才行。
如果外部上拉太弱的话,电平不好判断,容易受干扰。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版