1.hal库介绍及开发软件安装

1.什么是hal库

  hal库是ST公司针对STM32单片机推出的全新开发库,旨在取代原来用于开发STM32的标准库。相比于原来的标准库,hal库具有如下优点:
1)hal库开发提供了图形化配置界面,使得外设初始化变得更加简单明了且不容易出错。只需要在图形界面动鼠标点几下,输入几个参数,就可以生成一个点亮LED灯的keil工程或者IAR工程。

2)hal库提供了更高抽象层次的API,因此可移植性更强,便于在基于M3,M4,M7内核的单片机之间移植。

2.为什么要学习使用hal库开发STM32

  理由很简单,因为ST公司不再维护标准库了,而且现在STM32很多mcu只支持使用HAL库开发不支持使用标准库开发。最关键的是,现在网上很多开源的代码都是基于hal库的。因此是时候学习使用hal库来开发STM32了。

3.使用标准库开发和hal库开发的异同

使用标准库,开发步骤如下:
从ST官网下载对应mcu的最新版的标准库—>新建一个keil工程,并将相应的源码文件添加到工程里—>在main.c里写外设初始化代码—>外设初始化完成后再写业务逻辑代码。

使用hal库,开发步骤如下:
安装好STM32CubeMX配置软件和下载对应mcu的hal库—>在STM32CubeMX里使用图形界面设置mcu的时钟以及外设—>生成已经完成时钟设置和外设初始化的keil工程—>打开生成的keil工程,写业务逻辑代码。

可以看到使用hal库开发的好处是,可以利用STM32CubeMX提供的图形界面自动生成时钟和外设初始化代码和keil工程,时钟和外设的初始化代码不需要自己手动写,比较方便且不容易出错。更加方便的是,如果你严格按照规定在给定的地方写用户代码,那么利用STM32CubeMX再次生成的外设初始化代码不会覆盖到写的用户代码,可以很方便随时添加初始化外设的代码。

STM32CubeMX是ST公司为hal库开发而推出的一款配置软件,把hal库作为输入,根据用户设定的配置生成对应的keil工程或者IAR工程。

那么标准库和hal库有没有相同或者相似的地方?答案是肯定的。hal库和标准库其实都是将寄存器操作封装起来的c函数库。里面也提供了启动文件以及相关的外设库文件。你完全可以不用STM32CubeMX,然后按照使用标准库的开发流程来使用hal库开发stm32也是可以的。只不过hal库由于提供了更高层次抽象的API,写外设初始化代码的时候没有标准库那么直观而且也比较麻烦。

4.安装STM32CubeMX及hal库

4.1安装cubemx

安装STM32CubeMX之前,需要先安装64位的Java。注意,一定要是64位的。Java中文官网下载到的Java一般是64位的,因此需要到英文官网去下载,下载地址如下:
java下载地址
下载下图所示的版本,下载下来后,使用默认安装选项安装即可。
在这里插入图片描述
安装完Java之后,到ST官网搜索STM32CubeMX,然后下载最新的版本,使用默认安装选项安装即可。

4.2 安装hal库

安装完成STM32CubeMX之后,打开STM32CubeMX,然后依次按照下图操作,安装需要的mcu的hal库即可(这里以STM32L0系列的hal库为例):
在这里插入图片描述
在这里插入图片描述

安装完成后便可以利用STM32CubeMX来开发stm32了。

当然也可以单独下载hal库,hal库的下载也很简单,比如要下载STM32L1系列的hal库,那么直接在ST官网搜索stm32cubeL1即可。stm32cubeL1对应的就是L1系列的hal库。下载下来解压便可以看到和stm32L1对应的各种.c源文件了。
为什么要单独下载hal库呢?因为解压后,在解压的文件夹/Drivers/STM32xxx_HAL_Driver文件夹里有用户手册,方便查阅hal库里面函数的用法。

hal库的命名规则为stm32cubeXX,其中xx是mcu的具体型号。

关于STM32CubeMX的教程,博主mculover666写得不错,大家也可以参考他的教程来学习。
博主mculover666的STM32CubeMX教程

  • 11
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PS2 F1 HAL库 (即 PlayStation 2 F1 高级应用程序编程接口) 是一组提供给视频游戏开发人员的编程接口,用于操作 PlayStation 2 F1 核心处理器的软件开发工具。这个库使得游戏开发人员能够更加高效地编写高质量的游戏,同时也为他们提供了更大的自由度以在游戏中实现更多的功能。PS2 F1 HAL库的意义在于它通过为游戏开发者提供高级的API接口,增加了游戏开发的速度和效率,同时保证了游戏本身的性能与质量。此外,PS2 F1 HAL库还可以帮助开发者更好地了解 PlayStation 2 F1 核心处理器的架构和工作原理,在开发高效可靠的游戏同时也能够更好地了解计算机体系结构的底层结构和工作原理。总之,PS2 F1 HAL库是游戏开发的重要工具,它为开发人员提供了高效的API接口和更好的理解硬件的机会,是游戏开发的重要工具。 ### 回答2: PS2是一种计算机键盘和鼠标接口标准。F1是键盘上的一个特殊键,通常用于帮助和指南。HAL库(硬件抽象层库)是一种软件库,用于将操作系统和底层硬件分离,从而简化软件开发。 当使用PS2键盘和鼠标时,需要使用相应的驱动程序和接口库,以便在操作系统中使用它们。其中一个常用的库就是HAL库,它可以将PS2键盘和鼠标的信号转换为可供操作系统使用的指令。使用HAL库可以简化软件开发过程,因为开发者不需要了解底层硬件的细节,只需要调用库中的参数即可完成操作。 而F1键则常用于帮助和指南,例如在各种软件中都会使用F1键来打开帮助文档、说明文档或者快捷键列表等。F1键在开发过程中也有时被用作一些特殊的调试或者测试功能。例如在开发过程中,开发者可以在按下F1键时触发一些调试信息或者监控功能,以方便调试程序。 综上所述,PS2、F1和HAL库都是计算机软件和硬件开发中的重要概念。了解它们的作用和原理可以帮助我们更好地掌握计算机技术和开发能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值