HAL库文件概览
HAL库内容在相对路径./Drivers./STM32H7xx_HAL_Driver
下
src存放.c文件,inc存放.h头文件
下面看.c文件
分为三种:
- stm32h7xx_hal_外设.c 普通外设文件,也是
最常用的
- stm32h7xx_hal_外设_ex.c 在普通外设文件上增加一些功能,比如串口自适应波特率,一般都是高级功能,
平时也比较少用
- stm32h7xx_hal_外设_template.c 示例文件,
不可以加入工程编译会报错
,删除他们不会有什么影响
其中1又分成了HAL和LL两种:
- HAL 通用性更强,更方便移植,从f1移植到h7基础功能修改的地方很少。缺点:1.乱,各种条件编译和回调函数,相比传统库函数乱的一匹,函数间跳来跳去。2.实现同样功能耗时长,无用代码和判断太多,为方便移植和通用性牺牲太多。
- LL 操作更加底层,基本都是内联函数,整体运行速度快,适合对速度要求高的地方用,例如示波器ADC等等。缺点:移植不方便,网上资料少。
- 他们两者并不是独立的,有些HAL文件也会调用LL库中的内容(用户不需要关系)
.h文件大多都是普通外设,主要平时使用都会#include "stm32h7xx_hal.h"
文件,大多都是用到的外设去看一眼都有哪些API和函数,特殊的有stm32h7xx_hal_conf.h
文件,后面我们将会着重分析下这个文件,必须要掌握,不是很难,学到后面肯定要踩这个文件的坑,倒不如提前了解。
stm32h7xx_hal_conf.h讲解