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

STM32CubeMX中断相关配置

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

在这里插入图片描述

2. 设置串口写入

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

PB8接小灯,PA4接按键
在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述
选择第二个,下降沿触发中断。

拓展:底层原理为下图,输入线既是通道输入进来的。

在这里插入图片描述

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

在这里插入图片描述

7. 配置NVIC

打上勾勾,既是能EXTI通道4过来的中断。
后面俩个分别是(抢占优先级,和普通优先级)
在这里插入图片描述

拓展:下图为EXTI通道,用到PA4中断,既是EXIT第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开发板即可。

结束

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Strange_Head

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值