STM32中断模式实现点灯和串口通信

一、中断模式点亮LED

(一)创建工程

1)打开cubemx,新建工程
选择芯片STM32F103C8
在这里插入图片描述2)System Core->RCC->High Speed Clock(HSE)->Crystal
在这里插入图片描述3)SYS->Serial Wire在这里插入图片描述4)PA1接LED,选择Output
在这里插入图片描述

5)PB1接开关,选择EXTI
在这里插入图片描述6)选择上升沿触发
在这里插入图片描述7)选择该中端口
在这里插入图片描述8)如图示配置时钟
在这里插入图片描述9)命名及选择编译器
在这里插入图片描述

(二)编写代码

1)打开工程
在这里插入图片描述在这里插入图片描述2)代码
在图示位置加入代码

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
		for(long i = 1;i<72000;i++){}; //消除抖动
		if(HAL_GPIO_ReadPin(switch_GPIO_Port,switch_Pin)==1)
		{
			HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
		}
	__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
}

在这里插入图片描述

(三)硬件连接及烧写

1)硬件连接
LED长脚接PA1,短脚接地
开关一端接3.3,一端接PB1
在这里插入图片描述2)烧写
在这里插入图片描述3)效果图
在这里插入图片描述

二、总结

使用中断的方式点亮LED,初步了解了中断机制,可以较为方便的使用达到所需功能。

三、参考

https://blog.csdn.net/m0_58414679/article/details/121060073?spm=1001.2014.3001.5501
https://blog.csdn.net/qq_46467126/article/details/121055475

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值