STM32基于HAL库流水灯实验

STM32基于HAL库流水灯实验

一、搭建STM32的开发环境

(一)安装jdk

由于STM32CubeMX是Java实现的,需要安装jdk环境。
jdk官网下载链接:
https://www.oracle.com/java/technologies/javase-downloads.html

(二)安装STM32CubeMX

1.下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html
2.安装过程
①以管理员身份运行并安装 SetupSTM32CubeMX-4.27.0.exe ,进入下面这个界面后,点击Next
STM32基于HAL库流水灯实验
STM32基于HAL库流水灯实验

②勾选"I accept the terms of this license agreement",接着选择Next

STM32基于HAL库流水灯实验

③选择安装位置,默认位置是安装在C盘中(注意:安装位置不要出现中文)
STM32基于HAL库流水灯实验

④点击确定
STM32基于HAL库流水灯实验

⑤选择Next
STM32基于HAL库流水灯实验

⑥安装完成后,选择Next
STM32基于HAL库流水灯实验

⑦点击Done就完成安装
STM32基于HAL库流水灯实验

3.安装固件库
①运行CubeMX

STM32基于HAL库流水灯实验
②选择 Help->Magne .... 安装固件库
STM32基于HAL库流水灯实验

(三)安装MDK5

具体安装请参照下面链接:
https://blog.csdn.net/qq_43279579/article/details/108880667

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

(一)CubeMX建项目

1.新建File->Project
STM32基于HAL库流水灯实验
2.选择芯片STM32F103C8

STM32基于HAL库流水灯实验
3.SYS选择
STM32基于HAL库流水灯实验
4.RCC选择
STM32基于HAL库流水灯实验
5.选择端口输出设置,选择需要的端口,点击设置GPIO_OUTPUT,我选择的是PC13,PA15,PC0
STM32基于HAL库流水灯实验
STM32基于HAL库流水灯实验

STM32基于HAL库流水灯实验
STM32基于HAL库流水灯实验
6.Clock Configuration设置STM32基于HAL库流水灯实验
7.Project Manager设置
STM32基于HAL库流水灯实验

STM32基于HAL库流水灯实验
8.创建完成并用keil打开
STM32基于HAL库流水灯实验
STM32基于HAL库流水灯实验

(二)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文件
STM32基于HAL库流水灯实验
STM32基于HAL库流水灯实验

(三)烧录运行结果

1.打开mcuisp,进行烧录

STM32基于HAL库流水灯实验
2.烧录成功
STM32基于HAL库流水灯实验
3.烧录结果
STM32基于HAL库流水灯实验

三、波形观察

1.设置Debug
STM32基于HAL库流水灯实验
2.点击调试
STM32基于HAL库流水灯实验

3.选择逻辑分析仪
STM32基于HAL库流水灯实验

4.选择要观察的引脚:
①点击Setup Logic Analy
STM32基于HAL库流水灯实验

②添加要观察的引脚:
STM32基于HAL库流水灯实验
5.输入(PORTB & 0X00000000)>>0Display Type选择Bit,依次输入(PORTA & 0X00008000)>>15(PORTC & 0X00002000)>>13STM32基于HAL库流水灯实验
STM32基于HAL库流水灯实验
6.运行程序
STM32基于HAL库流水灯实验
7.波形图
STM32基于HAL库流水灯实验

四、总结

本次流水灯实验,理清了流水灯的原理,首先是包括GPIO配置、设置 GPIOx 某个引脚的默认电平,配置 GPIOx 引脚号、输入/输出方式、输出速度/输入类型。实现流水效果(main 函数),需要一个 while 循环,保持程序一直运行,调用延时函数 HAL_Delay(1000),延时1000s,实现流水效果。

五、参考文献

使用STM32CubeMX实现流水灯
STM32 观察波形

上一篇:STM32中使用HAL库重定向printf()函数


下一篇:假如你的SPI高速时接收数据异常