基于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.youkuaiyun.com/m0_58414679/article/details/120903629?spm=1001.2014.3001.5501
https://blog.youkuaiyun.com/LaiYiFei25/article/details/120935627?spm=1001.2014.3001.5501
https://blog.youkuaiyun.com/qq_43279579/article/details/112213196
https://blog.youkuaiyun.com/qq_43279579/article/details/112233696