ST意法半导体
登录
直播中
卢表镜
8年用户
1109经验值
私信
关注
[问答]
在EXTI中如何知道是哪个端口产生了中断?
开启该帖子的消息推送
EXTI
端口
中断
阅读文档后我了解到中断由 pin# 处理,我们在 EX
ti
_ConfigTypeDef 中设置 GPIOsel。
我的问题是我们如何确定哪个端口产生中断?
假设我使用 PA0 和 PB0,我只想为它们使用一个回调函数。
无效回调()
{
如果(端口== GPIOA)
{
做点什么
}
否则如果(端口== GPIOB)
{
做其他事
}
}
回帖
(1)
李大帅
2023-2-1 14:57:19
,不幸的是,EXTI
不能
为 PA0 和 PB0 编程(当您开始使用 CubeMX 进行设计时,您应该已经看到了这个限制)。
一些可能的解决方案(仅供参考,未经测试):
将一个引脚移动到另一个 GPIO(例如将 PB0 移动到 PB1)
如果您知道每个引脚的中断时间(这种情况很少见),那么您可以在需要时重新编程 EXTI。
您可以在外部将两个通道合并到同一引脚(门或二极管,如果足够慢)以用于中断目的,同时您仍然将两个通道连接到不同的端口以检查中断例程中的引脚电平(如果在处理之前消失,则存在“幽灵”中断的风险)
您可以使用具有中断功能的 IO 扩展器(通常由 I2C 控制)
在 PA0 的特殊情况下,您可能很幸运,因为您可以使用 WKP1 功能(通过 PWR,而不是 EXTI)作为解决方法(并保留 PB0 到 EXTI)。
,不幸的是,EXTI
不能
为 PA0 和 PB0 编程(当您开始使用 CubeMX 进行设计时,您应该已经看到了这个限制)。
一些可能的解决方案(仅供参考,未经测试):
将一个引脚移动到另一个 GPIO(例如将 PB0 移动到 PB1)
如果您知道每个引脚的中断时间(这种情况很少见),那么您可以在需要时重新编程 EXTI。
您可以在外部将两个通道合并到同一引脚(门或二极管,如果足够慢)以用于中断目的,同时您仍然将两个通道连接到不同的端口以检查中断例程中的引脚电平(如果在处理之前消失,则存在“幽灵”中断的风险)
您可以使用具有中断功能的 IO 扩展器(通常由 I2C 控制)
在 PA0 的特殊情况下,您可能很幸运,因为您可以使用 WKP1 功能(通过 PWR,而不是 EXTI)作为解决方法(并保留 PB0 到 EXTI)。
举报
更多回帖
rotate(-90deg);
回复
相关问答
EXTI
端口
中断
cube库
中
ADC的注入模式如何
知道
当前是
哪个
注入通道转换完成,从而
产生了
中断
?
2019-04-02
5848
如何区分同一
中断
处理程序的GPIO
中断
?
2018-09-30
4660
请问
在
EXTI
9_5仿真过程
中
,PR是什么时候挂起和解挂的?
2019-04-18
2265
STM8S105
EXTI
中断
怎么设置
2018-10-26
2398
请问如何识别
哪个
定时器通道触发了“HAL_TIM_PeriodElapsedCallback”
中断
?
2023-01-09
1208
STM32 PE0按下时
产生
的下降沿触发外
中断
0,那
在
释放会
产生
上升沿,会不会触发外
中断
1?
2024-05-17
489
STM32
中断
NVIC/
EXTI
外部
中断
是什么?
2021-11-17
977
产生了
一次
中断
后把
中断
使能关了还是没反应 ,是什么原因
2020-06-15
1304
EXTI
_PR和
EXTI
_SWIER的关系是怎么样的?
2020-08-10
3692
外部
中断
如何测试
哪个
引脚导致
中断
启动?
2019-05-10
1737
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分