ST现在有三个库,标准库,HAL库和LL库。
标准库,只能自己开发,这个ST将寄存器进行了封装,对早期的单片机支持比较友好。现在ST好像对这个标准库的维护力度不大了。比如新出来的STM32L0系列,到目前为止,没有标准库
HAL,这个是ST现在主力推进的,配合CubeMX软件。让开发者进行傻瓜式开发,很方便。但是这个库由于会生成一些无用的代码,导致编译后的程序,代码异常的大。
LL库,是ST针对HAL库代码大的特点,重新开发的,可以配合CubeMX软件。但是这个库目前还是不完善。所以大家开发的时候,一般是HAL+LL库一起使用。
学HAL库比较好,通用性强
学 hal 吧,完了看看 std 库就差不多了
std 库看明白就行了,不用自己写代码,太慢,费时费力。hal 可以快速做出项目来
可以学HAL库,目前官方推荐的。
标准库ST已经不更新维护了。
推荐用HAL库,原因
1、目前ST在大力推广,所有系列都适用,方便移植
2、HAL库用起来比较方便,而且修复了部分标准库的BUG,比如硬件I2C
标准库已经不再维护了,但是因为入门32基本都是f1,
而f1的教程基本又都是标准库,学标准库依然是不错的选择
标准库是对寄存器的封装,更符合以前学习51的思路
有一定能力之后,学HAL也不是很难