我大学几年一直都是使用标准库,然后17年毕业第一份工作转为HAL库,主要也是公司需求没办法。然后之后的数年我都是建议转HAL库,并不是这个库有多好,相反小问题很多,但是有一个,这是官方一直在开发维护的库,如果你是初学或者成熟的产品,这点很重要。
HAL库则是STMicroelectronics为了提供更高级别的抽象和简化开发而引入的库。HAL库基于标准库,并提供了一组API函数,将底层硬件操作抽象为高级函数调用。这样,开发者可以使用更高级别的API函数来进行配置和控制微控制器的功能,而不需要直接操作底层寄存器。HAL库适用于快速原型设计、开发周期短的项目以及对资源利用率要求不高的应用。
而且可以预见的是,为了芯片会限制使用标准库,到那时候在转HAL就有点落伍了,而且经验上也吃亏。