STM32CubeMX——基于HAL库的LED流水灯

本文详细介绍了如何在CubeMX中配置STM32F103C8的GPIO,利用HAL库编写LED流水灯程序,并在Keil中进行模拟仿真。通过实践展示了HAL库简化编程的过程和优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、在CubeMx使用HAL库完成LED流水灯

(一)在CubeMX中新建项目

1.新建项目

在这里插入图片描述

2.选择stm32f103c8芯片

在这里插入图片描述

3.在sys中选择serial wire

4.配置时钟

在这里插入图片描述
选择PLLCLK
在这里插入图片描述
在这里插入图片描述

5.配置GPIO口

选择了PA4,PB9,PC15输出
在这里插入图片描述
在这里插入图片描述

6.确定文件名称、文件地址、更改IDE设置

在这里插入图片描述

7.进入Code Generator更改输出文件,并生成项目模板。

在这里插入图片描述

8.使用keil打开生成的模板文件

工程文件在MDK中
在这里插入图片描述

在这里插入图片描述

(二)程序编写

1.在Cube生成的模板中打开main.c文件

在这里插入图片描述

2.在main函数的while循环中写入代码

在这里插入图片描述

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

(三)编译、烧录与运行

1.编译与烧录程序

在这里插入图片描述

2.运行

HAL流水灯

二、在keil中进行模拟仿真

(1)点击魔术棒,在Target中修改自己的晶振数量

在这里插入图片描述

(2)设置Debug

在这里插入图片描述

(3)进入仿真界面

在这里插入图片描述

(4)选择逻辑分析仪在这里插入图片描述

(5)选择引脚

通过PORTX.Y来输入引脚,显示规格选择bit
在这里插入图片描述

(6)运行

在这里插入图片描述

在这里插入图片描述

三、总结

本次使用hal库进行流水灯实验,发现使用hal库对单片机编程更加便捷,并且更简单,只需在CubeMX中完成大多数前期的配置,自己编写核心代码即可,并且使用此方式代码与文件格式更加规范。

四、引用

【一只特立独行的猪 ️】STM32基于HAL库流水灯实验
【WOOZI9600L²】stm32cubeMX使用HAL库点亮LED流水灯

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值