基于CubeMX和HAL库点亮LED流水灯

基于CubeMX和HAL库点亮LED流水灯

一、安装CubeMX

(一)安装CubeMX

下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html
在这里插入图片描述
以管理员身份运行安装程序
在这里插入图片描述点击done,安装完成。

(二)安装固件库

运行CubeMX,HELP->Manage embedded software paclages
在这里插入图片描述
选择所需的安装,点击install now下载
在这里插入图片描述

二、使用CubeMX生成相关代码

(一)配置

1)点击 new project
2)选择芯片STM32F103C8
在这里插入图片描述3)点击System Core,进入里面的SYS,在debug那里选择Serial Wire
在这里插入图片描述4)配置时钟
先配置时钟,点击RCC ,选择 HSE 为 Crystal/Ceramic Resonator
在这里插入图片描述选择 Clock Configuration,配置系统时钟 SYSCLK 为 72MHz
在这里插入图片描述5)配置GPIO
将需要的端口,选择GPIO-output
这里选择PA3/PA4/PA5
在这里插入图片描述对管脚进行命名
在这里插入图片描述

(二)代码生成

点击Project Manager,输入项目名称,选择存储路径,选择开发环境 MDK-ARM V5
最后点击GENERATE CODE生成代码
在这里插入图片描述

三、代码编译及仿真

(一)编译

1)打开刚才存储目录中的文件
在这里插入图片描述2)打开主函数
在这里插入图片描述
3)在while(1)部分添加以下代码

        HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);//将PA3设置为高电平
		HAL_Delay(100);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);//将PA3设置为低电平
		HAL_Delay(100);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//将PA4设置为高电平
		HAL_Delay(100);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//将PA4设置为低电平
		HAL_Delay(100);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);//将PA5设置为高电平
		HAL_Delay(100);
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);//将PA5设置为低电平
		HAL_Delay(100);

(二)仿真

1)更改设置如下
在这里插入图片描述在这里插入图片描述在这里插入图片描述2)逻辑分析仪功能观察管脚的时序波形
在这里插入图片描述
添加要观察的管脚
在这里插入图片描述得出波形
在这里插入图片描述

四、烧录及硬件实现

烧录
在这里插入图片描述流水灯效果图
在这里插入图片描述

五、总结

本次通过Cubemx和HALF库实现流水灯点亮,体现到了这种操作方式的极大方便,大大减轻了编程的负担,提升工作效率。

六、参考

https://blog.csdn.net/m0_58414679/article/details/120903629?spm=1001.2014.3001.5501
https://blog.csdn.net/LaiYiFei25/article/details/120935627?spm=1001.2014.3001.5501
https://blog.csdn.net/qq_43279579/article/details/112213196
https://blog.csdn.net/qq_43279579/article/details/112233696

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值