本帖最后由 正点原子运营 于 2024-3-20 16:46 编辑
1)实验平台:正点原子 M144Z-M3 STM32F103最小系统板
2) 章节摘自【正点原子】M144Z-M3最小系统板使用指南——STM32F103版
6)正点原子STM32技术交流QQ群:725095144
编写程序控制MCU实际上就是操作MCU上的各个寄存器,但直接操作寄存器的开发方式不仅开发效率低且容易出错,为此ST官方为STM32提供了一个HAL库,这使得用户在进行程序代码编写时,仅需调用HAL库中提供的API函数即可完成对MCU上寄存器的访问操作,缩短开发时间、提高开发效率。 本章分为如下几个小节: 6.1 STM32CubeF1简介 6.2 Drivers文件夹介绍 6.3 ST HAL库介绍
6.1 STM32CubeF1简介 STM32CubeF1是ST针对STM32F1系列MCU提供的软件包,包含了HAL、LL和CMSIS,同时也包含了USB、TCP/IP、文件系统、RTOS、图形界面库等一系列组件。 STM32CubeF1由ST提供,可从ST官网下载,也可在A盘à8,STM32参考资料中找到。STM32CubeF1的文件结构,如下图所示: 从上图中可以看到STM32CubeF1软件包中提供了许多文件,本文主要介绍Drivers中的驱动库。
6.2 Drivers文件夹介绍 STM32CubeF1的Drivers文件夹下包含了ST提供的各种驱动库,如下图所示: ①:BSP ST官方STM32F1系列板卡的板级支持包。 ②:CMSIS CMSIS(Cortex Microcontroller Software Interface Standard,Cortex微控制器软件接口标准)是Cortex-M处理器系列的与供应商无关的硬件抽象层。使用CMSIS可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器开发人员的学习过程,并缩短新设备的上市时间。通过在所有Cortex-M芯片提供商产品中标准化软件接口,会使成本明显降低,尤其是在创建新项目或将现有转迁到新设备时。 该文件夹为ARM的Cortex内核提供的一些标准接口,主要就是一些与编译器、内核等相关的头文件和DSP库。 ③:STM32F1xx_HAL_Driver ST提供的针对STM32F1系列MCU的HAL驱动库。
6.3 ST HAL库介绍 本书配套例程均使用ST提供的针对STM32F1系列MCU的HAL库进行开发,该库随ST针对的STM32F1系列MCU提供的STM32CubeF1软件包一起提供。该库由一系列的C源文件和头文件组成,并且在HAL库中也包含了LL库的一系列驱动文件,其中HAL库的驱动代码是硬件抽象层的驱动代码,而LL库是底层驱动代码。STM32F1xx_HAL_Driver中的HAL和LL都是ST为了方便开发者使用STM32而开发的软件驱动库,如下图所示: HAL驱动库中包含了许多文件,在后面的章节中,本书会逐一介绍本书配套例程中所使用的HAL API函数。 |