一、搭建STM32的开发环境
安装JDK
以管理员身份运行并安装 SetupSTM32CubeMX-4.27.0.exe ,进入下面这个界面后
点击help 安装相应的库文件
二、HEL库GPIO端口3只LED红绿灯的周期闪烁
(一)CubeMX建项目
1.新建File->Project
2.选择芯片STM32F103C8
3.SYS选择
4.RCC选择
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT,我选择的是PA4,PB9,PC15
6.Clock Configuration设置
7.Project Manager设置
二)main.c代码修改
1.在while(1)中输入以下代码
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // 灯1亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 灯1灭
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET); // 灯2亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); // 灯2灭
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); // 灯3亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); // 灯3灭
2.点击编译生成hex文件
三)烧录运行结果
烧录完成
三、波形观察
2、点击调试
3.选择引脚并观察
4.运行程序
三、总结
LED流水灯实验是嵌入式系统学习中的基础实验之一,它有助于初学者理解如何控制数字输出以创建简单的视觉效果。本次实验基于HAL库,旨在通过控制STM32系列微控制器的GPIO引脚,实现LED流水灯效果。以下是对该实验的总结:
实验的第一步是配置GPIO引脚。我们使用HAL库提供的函数来初始化和配置LED所连接的引脚,确保它们处于输出模式。HAL库提供了丰富的函数来配置引脚,包括设置引脚的状态、速度和上拉/下拉等属性。
接下来,我们使用循环结构控制LED的状态,以创建流水灯效果。我们可以使用HAL库的函数来设置引脚的状态,从而点亮或熄灭LED。通过延时函数,我们可以控制LED的亮灭时间,从而调整流水灯的速度。
本次流水灯实验,理清了流水灯的原理,首先是包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。通过使用HAL库可以大大减少我们配置对应引脚的时间和代码量,在操作方面也大为方便,不需要再翻资料查找每一个寄存器的基地址了。