STM32基于HAL库流水灯实验

一、环境搭建

1.安装jdk

由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:下载官网

2.安装MDK

这一部分的内容之前做过,这里附上链接:基于MDK创建纯汇编语言的STM32工程

3.安装STM32CubeMX

下载地址
安装过程只要一直点击next即可,这里展示一下固件库的安装
Help->Magne
在这里插入图片描述
在这里插入图片描述

二、HEL库GPIO端口3只LED红绿灯的周期闪烁

1.创建项目

①File->Project
②选择芯片STM32F103C8->start project
在这里插入图片描述
③.SYS选择
在这里插入图片描述
④RCC选择
在这里插入图片描述
⑤选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT,我选择了PA7,PB9,PC15
在这里插入图片描述
⑥点击System core里的GPIO,把点击引脚名,把输出等级改为high
在这里插入图片描述
⑦Clock Configuration设置
在这里插入图片描述
⑧Project Manager设置
在这里插入图片描述
在这里插入图片描述
⑨创建完成并用keil打开
在这里插入图片描述
打开keil时,如果遇到以下情况,点击第一项即可
在这里插入图片描述

2.代码及烧录

①在打开的文件中找到main.c文件并输入以下代码

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);//PA7亮灯
		HAL_Delay(500);//延时0.5s
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);//PA7熄灯
		HAL_Delay(500);//延时0.5s		
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
		HAL_Delay(500);//延时0.5s
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
		HAL_Delay(500);//延时0.5s
		
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
		HAL_Delay(500);//延时0.5s
		
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(500);//延时0.5s

②点击编译生成hex文件
编译通过
③打开mcuisp,进行烧录,按以下步骤操作,注意勾选和更改
在这里插入图片描述
④烧录成功
在这里插入图片描述
⑤运行结果

运行结果

3.波形观察

①设置Debug
第一个地方要勾选,第二个要全部改成DARMSTM.DLL和-pSTM32F103C8
在这里插入图片描述
②点击调试
③选择逻辑分析仪
在这里插入图片描述
④选择要观察的引脚
点击Setup Logic Analy
在这里插入图片描述
添加要观察的引脚
在这里插入图片描述
根据自己的接口,写入对应的数据,将display type改为bit,
运行程序即可得到结果
⑤运行结果
在这里插入图片描述

三、总结

本次的实验中,学会了HAL库来实现流水灯,对于,面包板和stm32芯片的使用更加熟练了。了解了流水灯的原理,包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。

参考链接

面包板的怎么使用
搭建STM32开发环境——STM32CubeMX,Keil5
STM32实现LED闪烁——基于HAL库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值