• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32的标准库与HAL库有什么区别

dep36 2018-03-09 浏览量:5853
现在stm32经常用到的是HAL库,都是官方的库,这两个有什么区别
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 分别是两个不同时期ST推出的官方库,标准库更贴近寄存器级别,HAL库贴近应用级别。HAL将寄存器一级做了抽象化的表达,使其不被使用者关心,但带来的坏处是傻瓜化的配置,牺牲了一部分系统的性能。就拿串口来说,标准库可以分别开启非空 空闲 发送完成 过溢错误 帧错误等中断,用哪个由驱动工程师决定,但HAL库不管三七二十一通通开启,这样有些中断即便不处理,也会让内核切换一次工作状态
    • 发布于 2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :MP62550DJ-LF-P,Monolithic Power Systems Inc.,供参考 回复

其他答案 数量:10
  • HAL库在慢慢取代标准外设库,HAL库方便使用STcubeMX工具,标准外设库是最开始支持的官方库,现在已经不再更新了
    • 发布于2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :SZ汽车级的 回复

  • hal库可以直接用STM32CUBE生成,官网主推的Hal库,但是hal库函数层层封装,执行时需要不停进栈出栈,执行效率比低些。
    • 发布于2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :不是同一物料,MAX3490ESA+:数据速率,10Mbps,MAX3490E:12Mbps,ESD防护等级是±15kV, 回复

  • 这两个库都很好,区别就是现在大都使用hal库,比较抽象,但是简单。标准库是将寄存器封装成库,比较简单,看个人喜欢用哪个啦。没啥大区别。但是现在好像在推hal库。
    • 发布于2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :C4201WVA-F-4P CJT(长江连接器) 回复

  • HAL库是最新的库,经过一层一层的封装,越来越趋向的软件编程,不需要了解太多硬件的东西,与底层相隔的也越来越远。但是这是主流趋势,以后编写STM32都会趋向于使用HAL库的,标准库终将会被HAL取代
    • 发布于2018-03-09
    • 举报
    • 评论 2
    • 0
    • 0
电子老工程师 回复了  :该型号是一个大功率电源模块,功能是交流电压转直流电压,用于交流转直流给大功率直流设备供电,附件规格书 回复
电子老工程师 回复了  :PowerPro连接模块产品。 PowerPro连接模块可以提供标准以太网界面通过互联网连接到云端和仪表板的用户可配置GUI。 回复

  • HAL库现在是官方主推的32库.配合​STcubeMX工具​使用非常易用。

    HAL库对外设操作进行了细致的封装封装,几乎所有外设操作都可以用HAL库中函数实现,让用户不用很了解甚至完全不去学习外设细节就可以编程操作。对于熟悉c语言,但第一次接触stm32甚至单片机的人来说,使用起来非常方便容易。

    • 发布于2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :是卷装的意思:Tape&Reel:3Kpcs/Reel 回复

  • HAL库便于移植 是大趋势
    • 发布于2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :客户的测试结果是:合格的259,不合格的1 回复

  • 两个库都是单片机开发的底层库,功能作用一样,std标准库是单片机寄存器的思想搞的库,hal完全把硬件抽象了分离了。用hal库可以不关注底层,便于移植,便于硬件升级,便于厂商推广产品。便于用户使用强大的功能,而又不用关注复杂的硬件寄存器,提升工作效率。hal更容易和cobemx配合使用,上freertos,fs,网络协议,等等组件,只要点点鼠标自己生成代码,hal更好用,厂商也主推hal
    • 发布于2018-03-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :国产没有符合的替代型号。 回复

  • HAL库属于标准库的升级版,功能更丰富,且支持F7与H7系列MCU
    • 发布于2018-03-11
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :尾缀R代表卷装 回复

  • 本质上没有区别,只是API函数,与一些初始化或是中断调用的机制不同。
    • 发布于2018-03-11
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :经过查找,该型号替代推荐均没货,KSZ8051RNLU-TR Microchip Technology 回复

  • HAL库主要是提升了兼容性,使得每个系列的硬件差异变得几乎没有,另外,F7和H7目前只支持HAL库。

    • 发布于2018-03-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :能不能自己做个交叉验证,把现在板子上的这个器件取下来,把库存的货焊上去,测试一下功能看看 回复

相关问题

问题达人换一批

STM32的标准库与HAL库有什么区别