xujiantj 发表于 2018-12-29 16:46:03

wenyangzeng 发表于 2018-12-29 16:35
那个PC13应该设置上拉才对。
进入的那个状态是硬件出错中断。还有那个stm32f4xx.it.c关于外部中断的代码应 ...

PC13设置成上拉之前试过,也不行。硬件PC13外部有10K电阻的上拉,设置成浮空输入应该也行。

xujiantj 发表于 2018-12-29 16:52:04

xujiantj 发表于 2018-12-29 16:46
PC13设置成上拉之前试过,也不行。硬件PC13外部有10K电阻的上拉,设置成浮空输入应该也行。 ...

我再看看stm32f4xx.it.c文件中的中断部分的代码,非常感谢!!!

xujiantj 发表于 2019-1-2 09:57:10

问题解决了!感谢楼上的大哥,是stm32f4xx.it.c中之前例程中给的是外部中断0的服务函数 EXTI0_IRQHandler(),因为外部中断改成PC13了,需要改成 EXTI15_10_IRQHandler()。添加如下代码就可以了。
void EXTI15_10_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
}

非常感谢!!!

xujiantj 发表于 2019-1-2 10:21:36

wenyangzeng 发表于 2018-12-29 16:35
那个PC13应该设置上拉才对。GPIO_InitStruct.Pull = GPIO_PULLUP;

进入的那个状态是硬件出错中断。还有 ...

非常感谢楼上大哥,问题已解决!!!
就是例程的stm32f4xx.it.c中原先的中断服务函数是:
void EXTI0_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(KEY_BUTTON_PIN);
}
需要改为:
void EXTI15_10_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
}
就可以了!!!
非常感谢!!!
页: 1 [2]
查看完整版本: STM32F401 Nucleo 开发板不能进入GPIO EXTI按键中断