4001|11

37

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

HAL库和STD库的选择 [复制链接]

 

对比 STD库,有些语句似乎变得更长了。

如果在KEIL里写代码的话,感觉实在是很痛苦,

当然,对我来说没什么影响,我在vscode里写代码,vscode有逆天的语法提示功能,胡乱写一能,它都能给你提供几个选择。

听别人说,HAL兼容性好,代码移植方便等等,这个看个人需要。

但我觉得,ST公司已经开发了好几个库了,有LL库,有STD库,实际就是跟电商收购超市一个道理,

电商收购实体有个逻辑就是,在线上再怎么宣传,再怎么开发,市场份额还是那么多,所以需要收购线下超市。

使用STD库的人数相对固定了,所以需要再开发一个库,而再开发的这个库,一定是更容易理解,但代价就是写起来更长了……

想想寄存器开发多简洁,几行代码就把功能实现了。STD库要写一大堆代码。

寄存器开发就好比李小龙的截拳道,能用载拳道的人少之又少,处于金字塔结构的顶层,但效率最高,就运行效率而言。

而且世界只有一个李小龙。

库函数呢,大多数人都能接受,但代价是比较啰嗦。可以说是处于金字塔中层,

HAL写起来代码又比STD长了一截,但能接受的人又增加了,多人用才能给ST带来收益。

 

此帖出自stm32/stm8论坛

最新回复

自己简化一个myarmlib,用自己的   详情 回复 发表于 2023-9-23 22:29
点赞(1) 关注
 

回复
举报

1万

帖子

16

TA的资源

版主

沙发
 

我用标准库。别得什么库同我没有半毛钱关系。

此帖出自stm32/stm8论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复

6822

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

高手都用寄存器了

标准库就够用了吧

 

此帖出自stm32/stm8论坛
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

4
 

高手都用寄存器了

此帖出自stm32/stm8论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1411

帖子

3

TA的资源

版主

5
 
标准库和Hal库感觉没什么区别
此帖出自stm32/stm8论坛
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

6
 

这要是两三年前还有的纠结,现在没啥纠结的了吧,HAL库都快被LL库慢慢取代了,已经不是之前的纯HAL库了,STD库的话基本被淘汰了

此帖出自stm32/stm8论坛
 
 
 

回复

379

帖子

0

TA的资源

一粒金砂(高级)

7
 

标准外设库给了你SPI_SendByte(),一次只能发送一个字节,然后自己用中断或者查询的方式检查发送完毕,发送下一个字节,从而完成一个Buffer的发送

HAL库,直接把上面的工作给你做完了,把Buffer地址给我,把长度给我,然后你就不用管了,Buffer发送完毕没准还给你准备了“发送完毕回调”功能

HAL算是往上层又走了半步,用惯了标准外设库的人习惯自己往上搭半层,可以定制更多的功能(比如uart开始发送回调和结束发送回调,以及自己习惯的HAL层函数的命名规则和接口),但是需要多花点儿时间。HAL库应该会更受新手或者从嵌入式那边转过来的人欢迎,毕竟隐藏了更多的硬件细节,而且和cube结合的更好。至于寄存器,直接用LL吧。

此帖出自stm32/stm8论坛

点评

都好,都好。  详情 回复 发表于 2021-4-9 09:10
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

8
 

hal是对std再次封装了一次,更不依赖底层,方便移植,而且hal和LL是可以混用的,需要效率的部分用LL,比如定时器等,其实官方在hal库里也有调用ll库的骚操作,加之已经不是51时代了,速度上去了,价格下来了,这点速度差距不大,我喜欢hal和LL混用,美呆.

此帖出自stm32/stm8论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

9
 
LeoMe 发表于 2021-4-8 14:19 标准外设库给了你SPI_SendByte(),一次只能发送一个字节,然后自己用中断或者查询的方式检查发送完毕,发送 ...

都好,都好。  就是芯片价格不好。

此帖出自stm32/stm8论坛
 
 
 

回复

224

帖子

0

TA的资源

一粒金砂(中级)

10
 

不赞成使用寄存器,阅读性太差。

此帖出自stm32/stm8论坛
 
 
 

回复

365

帖子

3

TA的资源

纯净的硅(初级)

11
 

这有什么好纠结的,对于一个研发人员而言,时间就是金钱,好的项目,如果你搞个半年一年,指不定别人已经走你前面先出了。所以各大芯片厂商都在推出库,目的就是缩短研发人员的开发成本,节省时间,更高效的出产品,至于代码复杂引起的效率问题,在当今科技下,早已被半导体的技术更新完美覆盖了,想想十年前的电脑主机配置,再看看现在的手机配置。你还会担扰代码执行效率不高吗?

此帖出自stm32/stm8论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

12
 

自己简化一个myarmlib,用自己的

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表