这是扒的某网站上大佬们的见解。
1.HAL库就是封装的比较猛,移植性比较强,标准库就是将寄存器封装好,移植性没有HAL好。
2.HAL库可以用ST的软件CUBE生成初始化工程。3.HAL库最方便的就是可以用CUBEMX自动生成代码,动态的调用资源,不会出现地城配置上的冲突。
4.其实就是两种库的区别,Hal库更加全面一点,目前STM32官方也在主推Hal库,目前STMcubemx软件可以直接生成HAL库代码,非常方便编程,易移植。
5.HAL库是ST近年来推出的新库,可以直接在CubeMX下生成例程,并且各个不同型号的STM32之间的函数差异也减少了。
6.HAL库是现在ST主推的库,标准库现在已经不更新了。HAL库做了更深的封装,可以很方便的移植在F0/F1/F3/F4/F7的各个系列的芯片上。
7.hal库通用型强,但是效率稍微低一点,标准库效率高。
8.本质上是一样的,就是配置寄存器,只是HAL库将应用层与驱动层分的比较明确。
9.HAL库设计进一步降低了API对硬件的依赖性,它借鉴了OS中驱动程序的思路,使得API的通用性更强。 能使用ST的CubeMX图形化界面来生成软件框架,它和CubeMX生成的软件代码完全兼容。减少了程序员的负担,同时代码也更规范。 至于与原库函数之间的使用差异, 关键还是要掌握内核及外设的工作原理,如果熟悉了硬件的工作原理,这些库函数还是很好用的。
10.HAL库似乎是为初学者而制定,但这也许是STM32的未来所在。
11.HAL和STD库最大的区别是移植性上的区别,HAL相当于在标准库上在加以封装了。增强了移植性,STD库是在寄存器的基础上封装了一次。12.hal库封装的更想arduino,移植性强,相对效率就低一些,在时间就是金钱的现在,hal库无疑是很好的选择。
13.HAL库和标准库都是对寄存器操作的封装,但是这些库的函数不同在HAL库每个.c文件的开头会介绍这个库里面包含哪些函数,这些函数的用途,可以留意一下。
14.标准库是STM32最早推出的库,应用非常广泛,但是比较新的F7和H7等系列已经不支持了。
HAL库是官方主推的库,目前支持所有系列,相对效率没有标准库高,但是各个系列之间的兼容性很好,而且能够配合STM32CubeMX进行使用。由于官方现在不在更新和支持标准库了,所有精力都放在了HAL库和LL库上了,所以建议今后学习和应用还是以HAL库和LL库为主要对象。
15.hal库和标准库的最大区别就是减少了不同系列器件之间的库函数层差异,并且可以直接用cubemx生成。
16.HAL移植性比较强,可以通过cubemx生成代码,不过效率比较低标准库更像寄存器的操作,感觉更符合对寄存器使用的理解。
17.HAL库移植性比较好,操作比较简单。标准库移植性没那么方便,操作比较复杂,直接对寄存器的操作。
18.HAL库的封装比较多,大部分都是面向对象的设计,移植比较简单。
19.HAL的优点就是用API的设计,十分方便移植,而且操作也简单。
20.HAL的移植性是最好的,但是标准库不太方便移植,所以ST出了一个HAL库。

STM32中HAL库与标准库的区别相关推荐

  1. HAL库和标准库的区别

    本文回答来源于chat gpt4,非原创,也是我初学过程中所遇到的问题,答案分享给大家,如有侵权请联系删除: HAL 库(Hardware Abstraction Layer,硬件抽象层)和标准库(S ...

  2. STM32F103VET6基于HAL库和标准库下DAC 心形波形输出

    STM32F103VET6基于HAL库和标准库下DAC 心形波形输出

  3. C++库介绍-标准库、类库

    目录: 1.标准库 2.GUI库 3.网络通信 4.XML 5.科学计算 6.游戏开发 7.线程 8.序列化 9.字符串 10.综合 11.其他 12.C++重要人物网站 C++类库介绍 再次体现了C ...

  4. linux标准c和c编译器6,linux内核中GNU C和标准C的区别

    linux内核中GNU C和标准C的区别 今天看了一下午的linux内核编程方面的内容,发现linux 内核中GNU C与标准C有一些差别,特记录如下: linux 系统上可用的C编译器是GNU C编 ...

  5. 正点原子stm32中hal库iic模拟`#define SDA_IN() {GPIOB->MODER=~(3<<(9*2));GPIOB->MODER|=0<<9*2;}` //PB9 输入模式

    正点原子hal库模拟iic中涉及到 #define SDA_IN() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=0<< ...

  6. STM32 HAL库与标准库的区别_浅谈句柄、MSP函数、Callback函数

    最近笔者开始学习STM32的HAL库,由于以前一直用标准库进行开发,于是发现了HAL库几点好玩的地方,在此分享. 1.句柄 在STM32的标准库中,假设我们要初始化一个外设(这里以USART为例) 我 ...

  7. STM32的printf函数串口重定义(HAL库和标准库都适用)

    1. 打开或创建工程 打开或者创建自己要用到的工程,配置串口相关的GPIO.时钟.波特率等,本次使用STM32CubeMX创建工程,打开串口1,配置波特率为115200,数据位为8,停止位为1,无奇偶 ...

  8. golang中文文档_Golang 标准库 限流器 time/rate 设计与实现

    限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务.网关.和一些后台服务中会经常遇到.限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现 ...

  9. 竞赛中常用的Python 标准库

    对竞赛中常用得标准库进行解析和给出代码模板 目录 1.functools 1.1  cmp_to_key 1.2  lru_cache(记忆化存储,加快递归速度) 2.collections 2.1  ...

最新文章

  1. 免费教材丨第48期:业界大牛中文教学视频《深度学习:进阶》第25-28讲
  2. SpringMVC、Spring和Struts的区别
  3. #39;git pull#39;和#39;git fetch#39;有什么区别?
  4. 树型权限管理插件:jQuery Tree Multiselect详细使用指南
  5. java 线程休眠_百战程序员:java线程的休眠和回复
  6. Java:将JDBC ResultSet作为JSON流式传输
  7. IOS 设置文件是否使用ARC
  8. MYSQLmy-innodb-heavy-4G.cnf配置文件注解
  9. h标签在seo中的作用(技术优化)
  10. mysql负载均衡分区_利用分区和负载均衡获得更大更好的MySQL数据库[转载]
  11. mysql各版本下载及免费mysql可视化工具下载(上班记录)
  12. 小米主题显示服务器不可用,小米主题商店 小米主题怎么混搭
  13. Steam软件联网问题解决方案
  14. C语言输出图形:宝塔形(三角形)回文数字。即:第一行1,第二行121,第三行12321……
  15. 流程图中的实线_绘制工艺流程图就这么简单(附工艺流程图常见符号)
  16. RSF-Center,集群模式下-协调数据结构
  17. FPGA 译码器+解码器 (含代码)
  18. 高级软件工程第九次作业:东理三剑客团队作业-随笔3
  19. Android系统字体
  20. 【工具】png去除黑色背景

热门文章

  1. R: 错误: $ operator is invalid for atomic vectors
  2. 09花冠钥匙计算机电路图,丰田花冠轿车中控集成ECU故障导致中控无法上锁的故障检修案例...
  3. win7 docker centos安装mysql_win7下docker环境centos容器中安装mysql5.7
  4. 方舟计算机丢失无法启动,方舟生存进化崩溃后无法进入,方舟生存进化一直错误...
  5. 几行Python代码实现人像动漫化, 让头像独一无二
  6. what???连机器人都会跳舞了?!
  7. 购买二手车 要提前做好的“功课”
  8. python小工具脚本_python实现倒计时小工具
  9. 计算机网络采用分层有哪些好处,网络协议分层的优点
  10. php将html 另存pdf,jsPDF将HTML转为PDF文件