如何区分同一中断处理程序的GPIO中断?

2019-07-14 17:12发布

我正在尝试将几个模块连接到我的STM32L476板,我需要从同一个端口(portA,引脚5和portA,引脚6)启用两个GPIO中断,但这些引脚的中断处理程序由外部处理引脚5到9的常用线(EXti9_5_IRQHandler)。我需要对这两个中断执行不同的任务,但是我怎么知道哪个中断发生了,因为它们都是由同一个处理程序处理的?有没有我可以检查的标志知道这个?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lingjianghui
1楼-- · 2019-07-14 21:30
 精彩回答 2  元偷偷看……
广州洋钒
2楼-- · 2019-07-14 23:33
你不能这样做。请参阅描述SYSCFG->EXTICR,EXTI5来自PA5或PB5,两者都是不可能的。
小新1999
3楼-- · 2019-07-15 03:50
您可以存储GPIO_A5和GPIO_B5的先前(最后)状态,在ISR中检查哪一个已更改。当然,退出时用最后一个状态更新变量。当ISR对其进行采样之前更改引脚状态时,可能无法用于非常短的脉冲。如果已知脉冲之间的周期足够大,则可以使用C&R“拉伸”非常短的脉冲宽度。
李春明
4楼-- · 2019-07-15 05:46
学习了解一下

一周热门 更多>