HAL库使LED闪烁

HAL库介绍

HAL(Hardware Abstraction Layer,硬件抽象层)库是由STMicroelectronics公司为其STM32系列微控制器提供的一组软件库。HAL库旨在简化开发人员对硬件的访问,使其不需要直接处理复杂的寄存器配置,而是通过一组高层次的API函数来进行硬件控制。这不仅提高了代码的可读性和可维护性,也增强了跨不同硬件平台的可移植性。

HAL库的主要特点
硬件独立性:通过抽象硬件细节,使应用程序代码可以更容易地移植到不同型号的STM32微控制器上。
模块化设计:每个外设都有单独的驱动程序,开发者可以按需选择和使用。
易于学习和使用:提供了一套统一的API接口,简化了硬件配置和操作。
丰富的文档和示例:ST官方提供了详尽的文档和大量示例代码,帮助开发者快速上手。

常用的HAL库组件
GPIO(通用输入输出):用于控制和读取微控制器的引脚状态。
USART(通用同步异步收发器):用于串行通信。
SPI(串行外设接口):用于高速数据传输。
I2C(集成电路间接口):常用于传感器数据收集。
ADC(模数转换器):将模拟信号转换为数字信号。
Timers(定时器):用于事件计时、脉宽调制等。

STM32CubeMX

STM32CubeMX是STMicroelectronics公司推出的一款软件工具,用于帮助开发人员快速配置和生成基于STM32微控制器的初始化代码。它能够简化硬件配置、引脚映射、时钟设置以及外设配置,大大提高了嵌入式软件开发的效率。

STM32CubeMX下载

LED灯周期闪烁

点击Help,然后点击Manage embedded software packages:
在这里插入图片描述

选择上要安装的HAL库, 点击“Install” 直到安装成功:
在这里插入图片描述
回到STMCubeMX主界面,点击ACCESS TO MCU SELECTOR创建新项目:
在这里插入图片描述
在搜索栏输入STM32F103C8T6,然后点击信息栏中的芯片,点击start project:
在这里插入图片描述
点击system core,选择SYS,在debug下选择serial wire:
在这里插入图片描述
点击RCC,在DSE那里选为Crystal/Ceramic Resonator:
在这里插入图片描述
鼠标左击你需要的引脚,选择GPIO_Output,我选择了PC15和PA12:
在这里插入图片描述
点击ProjectManager,选择自己的安装路径和项目名,然后将IDE改为MDK-ARM,最后点击GENERTE CODE:
在这里插入图片描述
打开main.c文件,将以下代码放入主函数中:

SystemClock_Config();//系统时钟初始化
  MX_GPIO_Init();//gpio初始化
  while (1)
  {		
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_12,GPIO_PIN_RESET);//PA4亮灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
		HAL_Delay(1000);//延时1s
		HAL_GPIO_WritePin(GPIOA,GPIO_PIN_12,GPIO_PIN_SET);//PA4熄灯
		HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
		HAL_Delay(1000);//延时1s
	}

小结

在引脚设置是默认是低电平,我们也可以设置成高电平;如果不小心将其他引脚设置为Output,我们可以再左击一次取消选择。

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值