LL库保留了更多的硬件细节,为开发人员提供了更高级别的灵活性和控制。使用LL库,开发人员可以直接编写更底层的代码,实现对微控制器和外设的精细控制。LL库适用于对性能和资源要求极高,以及对底层硬件控制有特殊需求的应用。 三者的关系 在这三种库中,出现的先后顺序是标准库—HAL库—LL库,所以大家如果在网上 看到LL...
可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没...
LL库是STMicroelectronics在HAL库的基础上提供的更低级别的库。LL库提供了对底层寄存器和外设的更直接的...
总结:HAL库提供了更高级别的抽象,适合大多数应用场景;LL库提供了更低级别的抽象,适合对性能要求较高的场景。
在使用STM32CubeMX或者STM32CubeIDE开发应用程序时,用户可以根据自己的喜好选择使用HAL高级库或者LL底层库驱动,但是在用法上,两者有很大的不同。 LL底层库LL驱动函数,实际上就是以内联函数的方式访问寄存器,…
STM32Cube HAL和LL是目前官方主推,并重点维护和更新的库,也建议大家都学习一下。而且新出来的型号(如L5、G4等系列)没有标准外设库,只有STM32Cube HAL和LL库了。 4四种库对比 来自官方的对比信息,包含可移植性、优化、难易程度等。 其中: Portability: 可移植性; Optimization : 优化; Easy: 难易程度; Hard...
ST公司针对STM32系列微控制器提供了两种软件开发套件:HAL和LL。HAL全称是Hardware Abstraction Layer,硬件抽象层;LL全称是Low Level库,低层库。相对于HAL,LL更加接近底层,具有更高的效率,主要有以下几个方面原因。 首先,LL是一套纯C语言库,而HAL是一套C库+底层驱动。纯C语言库的优势在于减少了多余的层级,避免了...
STM32中STD,HAL,LL三种库的比较 STD库(标准外设库:Standard Peripherals Library) 该库是对STM32芯片的一个完整的封装库,包括所有标准器件外设的驱动器。目前使用最多的ST库。几乎全部用C语言实现。缺点是,STD库是对某一个系列芯片的库,移植性差。 HAL库(硬件抽象层:Hardware Abstraction Layer)...
STM32 LL库为什么比HAL库高效呢? 概述 有些应用要求MCU能高效处理,特别是跑一些算法时,对CPU执行效率要求较高。 网上有很多文章说STM32CubeHAL执行效率不高,代码量大等问题,导致很多还没有入门,或初学的读者就产生各种各样的疑惑。 说实话,HAL相对标准外设库来说确实存在代码效率不高、代码量大灯这些问题,那么与...