HAL库——STM32CubeMX中断相关配置(中断反转LED状态)

STM32CubeMX中断相关配置

文章目录

  • STM32CubeMX中断相关配置
    • 1. 选择你要用的芯片(双击打开)
    • 2. 设置串口写入
    • 3. 配置时钟树,外部时钟为系统时钟(PLL倍频时钟)
    • 4. 查看原理图,找到可以中断控制的器件,或者外接小灯来达到中断控制小灯的一个目的,我这里PB8外接小灯。顺便外接一个按键达到(按键产生中断控制小灯亮灭的功能
    • 5. 配置相关GPIO信息(PA4)
    • 6. 配置相关GPIO信息(PB8) (正常配置及可,反正是中断控制反转LED状态)
    • 7. 配置NVIC
    • 9. 正常生成代码,不会看以前文章,如何生成。
    • 10.在生成基础上修改代码(keil5)
      • 重写void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
  • 结束

1. 选择你要用的芯片(双击打开)

2. 设置串口写入

3. 配置时钟树,外部时钟为系统时钟(PLL倍频时钟)


4. 查看原理图,找到可以中断控制的器件,或者外接小灯来达到中断控制小灯的一个目的,我这里PB8外接小灯。顺便外接一个按键达到(按键产生中断控制小灯亮灭的功能

PB8接小灯,PA4接按键

5. 配置相关GPIO信息(PA4)


选择第二个,下降沿触发中断。

6. 配置相关GPIO信息(PB8) (正常配置及可,反正是中断控制反转LED状态)

7. 配置NVIC

打上勾勾,既是能EXTI通道4过来的中断。
后面俩个分别是(抢占优先级,和普通优先级)

9. 正常生成代码,不会看以前文章,如何生成。

此文章后半段描述了,如何生成代码。
https://blog.csdn.net/qq_52749711/article/details/129223803

10.在生成基础上修改代码(keil5)

打开工程——>编译,主函数不用管,只操作相关中断即可

可以看到这里以及调用中断函数这时只需要一步步向下寻找,重写函数即可。

/*** @brief This function handles EXTI line4 interrupt.*/
void EXTI4_IRQHandler(void)
{/* USER CODE BEGIN EXTI4_IRQn 0 *//* USER CODE END EXTI4_IRQn 0 */HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);/* USER CODE BEGIN EXTI4_IRQn 1 *//* USER CODE END EXTI4_IRQn 1 */
}//void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)//既是重新这个函数

重写void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

/* USER CODE BEGIN 1 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{//选择是谁触发的中断switch(GPIO_Pin){case GPIO_PIN_4:HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);	//HAL库反转LED灯的函数break;}
}
/* USER CODE END 1 */

到这里也就实现了,中断控制小灯的反转了。将keil5中的程序烧入stm32开发板即可。

结束

如果对您有帮助,点赞支持一下吧。
转载联系作者。

本文链接:https://my.lmcjl.com/post/10652.html

展开阅读全文

4 评论

留下您的评论.