stm32cubeMX使用HAL库点亮LED流水灯
一、HAL库介绍
HAL 库(Hardware Abstraction Layer,硬件抽象层)和标准库(Standard Peripheral Library,标准外设库,又称为 SPL)都是 STM32 微控制器的固件库。它们的主要区别在于结构和抽象级别。
1.HAL 库: HAL 库是 STMicroelectronics(ST)提供的较新的库。它提供了一套统一的 API,用于访问 STM32 系列微控制器的外设。HAL 库的目的是简化固件开发,让开发者更加关注应用层逻辑,而无需深入了解底层硬件。
HAL 库的特点:
跨平台支持:支持 STM32 全系列微控制器。
结构统一:为所有外设提供统一的 API 和驱动结构。
易于使用:简化了许多硬件操作,使得开发者可以快速上手。
与 STM32CubeMX 工具集成:STM32CubeMX 可以自动生成 HAL 库的初始代码,方便开发者配置硬件。
二、STM32CubeMX生成代码点亮LED流水灯
1.Java环境配置
使用快捷键WIN+R打开
输入java检测是否有配置环境(如图是有环境配置)
如果没有配置请参考:https://blog.csdn.net/weixin_50455331/article/details/126083021
2.安装STMCubeMX
官网网址:https://www.st.com/en/development-tools/stm32cubemx.html?sc=stm32cubemx
点击下载
(1)下载之后右键点击以管理员身份安装
一直Next
9501bdd255.png#pic_center)
(2)HAL库
打开STMCubeMX
(3)创建项目
点击红框
选择自己对应的芯片
设置
点击相应的引脚设置输出寄存器了,就是output那一项,一共选了三个,是PA4,PB9,PC15:
(4)keil仿真调试
在while(1)中输入以下代码
``SystemClock_Config();//系统时钟初始化
MX_GPIO_Init();//gpio初始化
while (1)
{
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 }
(5)电路连接
GND — GND
3v3 — 3v3
TXD — A10
RXD — A9
总电路:
红——B9
绿——C15
黄——A4