ST Standard Peripheral Library是ST公司推出的一种针对STM32系列微控制器的标准外设库,可以充分发挥STM32微控制器的性能。这个库由一系列C语言函数构成,可用于处理大多数常用的STM32外设,如GPIO、USART、SPI、I2C、ADC、DMA等。
ST Standard Peripheral Library具有如下的优点:
然而,随着STM32器件系列的不断发展,这个库已经被HAL库所代替,不再建议新手使用ST Standard Peripheral Library。
HAL库全称为Hardware Abstraction Layer,即硬件抽象层库,是专门为STM32系列微控制器设计的中间件库。HAL库基于STM32Cube技术,提供了一组高级C语言函数,用于STM32芯片外设的控制。 HAL库是STM32系列微控制器的官方标配库,可以很好的支持所有STM32器件系列。
HAL库具有以下的优点:
虽然HAL库比ST Standard Peripheral Library更适用于现在的开发,但也不可避免的有以下缺点:
LL库全称为Low-layer Library,即低层次驱动库,可以为不同类型的STM32设备提供灵活的命令库。LL库的目标是提供一种更接近硬件的抽象机制,使得应用程序调用外设驱动器变得容易。
LL库具有以下的优点:
虽然LL库比HAL库更加高效,但是缺点也很明显,开发难度较大,使用LL库必须要对各个外置器件的寄存器非常了解,在一定程度上降低了开发的效率。
除了以上三种库,还有其他的库,例如Keil库、CMSIS库、FreeRTOS等,这些库都能够适用于STM32L系列开发工作,开发者可以根据自身需求选择。
以上是STM32L系列微控制器开发中较为常用的几种库,每种库都具有自己的优缺点,我们需要根据具体需求去选择最适合我们的开发库。当然,选择最合适的库并非一蹴而就的事情,需要我们不断学习不断尝试,才能更加熟练运用开发库。