莫九玉 发表于 2019-3-30 20:11:32

stm32l152的外部中断EXTI9_5_IRQn怎么使用?

中断向量EXTI9_5_IRQn包含了5种管脚的中断。如果我设置了GPIO6和GPIO7为外部中断。我使用HAL库,,那么中断来了,我怎么判断是哪个中断口来的呢?
因为使用了HAL库,不能使用EXTI_GetITStatus();这个函数来检查。请问有什么办法吗?

toofree 发表于 2019-3-31 01:56:54

我想你需要自己写一个中断回调函数。



void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
/* Prevent unused argument(s) compilation warning */
if (GPIO_Pin == KEY0_Pin)
{
          HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
}
else if (GPIO_Pin = KEY1_Pin)
{
          HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
}
}





莫九玉 发表于 2019-3-31 08:02:08

toofree 发表于 2019-3-31 01:56
我想你需要自己写一个中断回调函数。

好的,谢谢,我等一下试一下

Kevin201707 发表于 2019-4-1 15:55:54

it.c文件中做两次调用,回调函数做具体判断。
页: [1]
查看完整版本: stm32l152的外部中断EXTI9_5_IRQn怎么使用?