STM32标准库和HAL库是意法半导体为开发者提供的两种不同级别的软件库。STM32标准库适用于需求对程序大小、运行速度和资源占用有严格要求的场景,提供了底层接口和直接访问硬件寄存器的能力。HAL库则提供了更高级的抽象层,封装了底层寄存器访问和提供了更丰富的高级函数和驱动程序。它适用于需要快速开发和原型验证的项目,...
ST提供的标准库、HAL库和LL库各有其优势和特点,如果是移植很久前的项目,大概率要使用标准库。如果新开发项目,使用STM32CubeMX就必须使用HAL库和LL库了。个人建议,现在最好是使用HAL库+LL库进行开发,因为这是官方主推的库,并且CubeMX确实是个很好用的工具,而里面只有HAL库和LL库。HAL库开发迅速,LL库开发稳定,...
建议学习HAL库,一是标准库厂商已经停止维护,那肯定是不建议新设计中再用了。 二是,cubeMX能直接生成HAL库初始化代码,工具方便就用呗。 HAL库封装层级较高,用着也舒服,开发速度也快,不用关心过多底层的内容。也逐渐产生很大的影响力,比如py32就只提供HAL库和LL库了。 如果有人跟你说,HAL库封装层级高,浪费资...
可以说HAL库就是用来取代之前的标准外设库的。相比标准外设库,STM32Cube HAL库表现出更高的抽象整合水平,HAL API集中关注各外设的公共函数功能,这样便于定义一套通用的用户友好的API函数接口,从而可以轻松实现从一个STM32产品移植到另一个不同的STM32系列产品。HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没...
在学习 STM32 开发的过程中,很多初学者常常会纠结于应该学习标准库还是 HAL 库。亿配芯城(ICgoodFind) ICgoodFind在此为大家分享一些观点,希望能帮助大家做出适合自己的选择。 一、标准库标准库是 STM32 早期推出的软件开发库,具有以下特点: 简洁明了:对于有一定 C 语言基础和单片机...
在STM32微控制器的开发中,程序员通常会使用标准库和HAL(Hardware Abstraction Layer)库来进行软件开发。这两种库有着各自的特点和适用范围。本文将对STM32标准库和HAL库进行比较,并分析它们之间的区别。 1. 标准库 STM32标准库是ST公司提供的一套针对STM32系列微控制器的软件库。它包含了丰富的函数和驱动代码,可以...
一、 F7系列开始 ST公司就已近开始停止更新标准库,也就是F7开始包括F7已经不能用标准库了,公司对于主打HAL库的目的已经非常明显了。 二、追求更方便、追求模块化向来是世界的潮流,更方便的HAL库一定会迅速发展,低效的短板迟早会被硬件高度集成化所弥补 。
20年前大家争论的是用汇编还是用C,10年前大家争论的是用寄存器还是用库,到现在大家争论的是用标准库还是HAL库,结果很显然了,ST自己都放弃的东西就不要坚持了。 5月前·北京 13 分享 回复 展开5条回复 九央 ... 我用的寄存器[尬笑] 5月前·河南 ...
从上面这些对比可以看出,HAL库跟标准库都是基于寄存器来实现I/O的翻转的,唯一的区别就是HAL库将标准库的两个函数合二为一了,标准库是参数不变,而调用的函数名发生了变化。 接下来对比LED端口的初始化。 image-20230926214336760 可以看到端口时钟的使能函数不一样了,HAL库是通过两个独立的函数u来实现,没有参数,...