我的角度认为,标准库与HAL库的区别在于标准库的单片机配置是自己编写代码,利用标准库的宏定义完成配置,而HAL库是利用了STM32CubeMX进行配置(虽然不是很严谨)。除此之外,HAL库对硬件的配置与中断回调处理进行了更多的封装,从而让用户更专注于程序本身而非硬件。当然HAL库这样的特性也导致了它的效率较低,封装层级高也会导致过多的函数跳转。因此,两者需要相互取舍。初学者适合从标准库入门,开发时使用HAL库。除此之外,STM32CubeMX还支持LL库的生成,该库代码更轻量级,更适合追求高效运算处理的场景 |
|