新手上路
- 积分
- 34
- 金钱
- 34
- 注册时间
- 2017-8-12
- 在线时间
- 6 小时
|
6金钱
本帖最后由 mobius 于 2017-12-11 22:29 编辑
STM32的同一组GPIO外部中断,如EXTI0上是PA0,PB0...如果我想要使用同时使用PA0,PB0作为中断输入口,就是在我不同时间按下PA0,PB0的时候能分别响应,进入不同的中断服务函数,需要怎样实现?
我尝试的方式是配置了GPIOA,GPIOB到EXTI0,然后在中断服务函数中通过判断输入寄存器的数值来判断是哪个按键按下,同时去调用不同的过程,但是我配置了PA,PB,PC,PD,PE,只有最后一个可以起到作用,不知道这里问题出在哪里呢,又是否可以实现这样的功能呢,如果可以,需要怎样实现呢,希望得到指点,谢谢。
|
最佳答案
查看完整内容[请看2#楼]
楼上正解,这里只能连接到一个外部中断,之所以是最后一个起作用,是因为你配置中断的时候,使用的引脚这个配置信息会把之前的信息覆盖掉。
如果要使用两个中断的话,比较简单的就是改个口,;如果没有办法改,加入要输入PA0 PB0的信号,经过一个与门或者或门(看是高电平触发还是低电平触发),然后再链接到一个管脚(假如说是PB1)。这样配置PB1的外部中断,当中断到来时,在中断服务程序里面检查PA0 PB0的电平情况,进而确定 ...
|