野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18981|回复: 2

关于STM32 GPIO中断触发的问题

[复制链接]
发表于 2013-12-28 10:05:51 | 显示全部楼层 |阅读模式
1. 如果同时设置了 PE5 和PC5的IO口 中断 触发方式为下降沿触发 那么如何在中断中判断是谁触发的中断 如果用EXTI_GetITStatus()函数 只能返回高低电平,无法判断触发源。
2.使用IO口中断时配置的触发方式明明是下降沿触发 然后在上升沿时同样会触发中断 现象就是 按键按下的时候进入了中断,按键抬起又进入了中断,不知道为什么。
回复

使用道具 举报

发表于 2013-12-28 10:10:39 | 显示全部楼层
1.在中断服务函数里使用GPIO_ReadInputDataBit函数判断哪个引脚为低电平,进行区分
2.可能是因为按键抖动导致的,要求高的话可以考虑用硬件消抖
回复 支持 反对

使用道具 举报

发表于 2013-12-28 14:06:19 | 显示全部楼层
(1)STM32里面定义了引脚X的中断。也就是说PCx或者PDx或者PAx等。对应的是相同的中断向量。所以这些x相同的脚出发的中断处理函数是同一个的。可以在中断函数中进行区分具体是哪个脚触发的。
(2)按键应用会出现抖动情况。所以需要软件编程去除抖动。至于抖动的定义。请自行百度。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-21 07:20 , Processed in 0.047223 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表