基于HAL库的LED流水灯

基于HAL库的LED流水灯

1.实验工具

1.STM32CubeMX
2.KEIL5

2.STM32CubeMX生成代码使用HAL库点亮流水灯

(1)打开STM32CubeMX新建项目

点击File——>New project
在这里插入图片描述
选择开发板型号并创建项目
在这里插入图片描述点击system core,进入SYS,在debug下选择serial wire
在这里插入图片描述
观察时钟架构,APB2总线的时钟由hse控制,同时在这个界面得把PLLCLK右边选上
在这里插入图片描述
将hse那里设为Crystal/Ceramic Resonator
在这里插入图片描述
点击相应的引脚设置输出寄存器,output那一项,一共选了三个,是PA7,PB1,PC15
在这里插入图片描述
点击project manager,配置好自己的路径和项目名,然后IDE那项改为MDK-ARM
在这里插入图片描述
进入 code generate界面,选择生成初始化.c/.h文件,后面点击generate code,选择open project,然后就到KEIL5了
在这里插入图片描述

(2)KEIL仿真调试

点击main.c滑倒主函数
在这里插入图片描述
将下面代码放入主函数中(替代里面的内容)

SystemClock_Config();//系统时钟初始化
  MX_GPIO_Init();//gpio初始化
  while (1)
  {		
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(1000);//延时1s
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(1000);//延时1s		
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
		HAL_Delay(1000);//延时1s
	}

编译之后烧录运行
结果:

video_20231020_214621

3.总结

本次的流水灯运用到了STM32CubeMX生成代码,并以运用到了HAL库,HAL库与寄存器和标准库相比而言,过程更简单。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值