[STM32F4] 实现F411RE使用HAL库实现IO中断

[复制链接]
1479|30
 楼主| yinxiangh 发表于 2021-10-19 21:51 | 显示全部楼层 |阅读模式
实现F411RE使用HAL库实现IO中断
juventus9554 发表于 2021-10-19 21:53 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| yinxiangh 发表于 2021-10-19 21:55 | 显示全部楼层
我在NUCLEO-F411RE的板子平台上基于HAL库调试程序,想实现按键中断(PC13),但试验了多次都失败了
shimx 发表于 2021-10-19 21:57 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| yinxiangh 发表于 2021-10-19 21:59 | 显示全部楼层
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);
 楼主| yinxiangh 发表于 2021-10-19 22:00 | 显示全部楼层
中断stm32f4xx_it.c中程序
void EXTI0_IRQHandler(void)
{
        HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
}
 楼主| yinxiangh 发表于 2021-10-19 22:06 | 显示全部楼层
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);
}
pengf 发表于 2021-10-19 22:09 | 显示全部楼层
然后呢?你是怎么应对这个的呢
 楼主| yinxiangh 发表于 2021-10-19 22:14 | 显示全部楼层
基于以上代码实现当PC13即按键按下,PA5即LED翻转。现在按键按下没有任何反应,请高手指点。谢谢!
dingy 发表于 2021-10-19 22:17 | 显示全部楼层
PC13pin对应的中断号不是EXTI0_IRQn而是EXTI15_10_IRQn
 楼主| yinxiangh 发表于 2021-10-19 22:18 | 显示全部楼层
一语道破天机,感谢。粗心的我,竟然没发现,我还在一直纠结与EXTI0~4呢,忽略了后面的这个东西,感谢啊。  
renyaq 发表于 2021-10-19 22:20 | 显示全部楼层
呵呵,解决了就好啊,很有效率的嘛
 楼主| yinxiangh 发表于 2021-10-19 22:22 | 显示全部楼层
IO中断,我记得官方是有例程的,很简单的。
 楼主| yinxiangh 发表于 2021-10-19 22:23 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦
coshi 发表于 2021-11-5 17:01 | 显示全部楼层
失败的现象是什么
zljiu 发表于 2021-11-5 17:04 | 显示全部楼层
还有其他功能吗
wiba 发表于 2021-11-5 17:05 | 显示全部楼层
开启中断使能了吗
tfqi 发表于 2021-11-5 17:07 | 显示全部楼层
这个问题如何排查出来的呢
qcliu 发表于 2021-11-5 17:08 | 显示全部楼层
如何查这个中断号呢
SantaBunny 发表于 2023-3-5 17:07 | 显示全部楼层
调用Disable函数就可以禁用中断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

723

主题

7134

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部