如何实现F411RE使用HAL库实现IO中断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现F411RE使用HAL库实现IO中断相关的知识,希望对你有一定的参考价值。

各位:
我在NUCLEO-F411RE的板子平台上基于HAL库调试程序,想实现按键中断(PC13),但试验了多次都失败了,麻烦高手帮忙看下哪里出了问题,谢谢!代码如下:
IO初始化部分,位于main.c中
HAL_Init();
SystemClock_Config();

__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_NOPULL;

HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);
HAL_NVIC_EnableIRQ(EXTI0_IRQn);
中断stm32f4xx_it.c中程序
void EXTI0_IRQHandler(void)

HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);

HAL_GPIO_EXTI_Callback函数,位于main.c中
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

if(GPIO_Pin == GPIO_PIN_13)



HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
HAL_Delay(50)
参考技术A PC13pin对应的中断号不是EXTI0_IRQn而是EXTI15_10_IRQn

以上是关于如何实现F411RE使用HAL库实现IO中断的主要内容,如果未能解决你的问题,请参考以下文章

如何在 STM32F1 上使用 HAL 库永久启用 uart RX 中断

基于STM32F411使用SPI+DMA驱动LCD

基于STM32F411使用SPI+DMA驱动LCD

STM32使用HAL库实现串口通讯——实战操作

STM32标准库与HAL库对照学习教程外设篇--红外避障传感器

STM32G431 CubeMx HAL库——使用IDLE+RXNE实现串口不定长数据接收