你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

网上好多说HAL库的不好的,你们怎么看?  

[复制链接]
电小龙 提问时间:2016-9-23 10:29 /
刚刚接触HAL库的我,小白一枚,在网上搜了很多关于HAL库的资料,很多人吐槽HAL库的效率低,还有一些BUG,大神们你们怎么看?
收藏 1 评论41 发布时间:2016-9-23 10:29

举报

41个回答
我是熊猫大仙 回答时间:2016-9-24 11:33:42
本帖最后由 我是熊猫大仙 于 2016-9-24 11:34 编辑

CubeMX很方便,很省事儿
运行效率是会降低一些,但是真差那点效率的时候不太多吧,真到那时候你还没有手动优化的能力?
bug我也遇到过,自己改就是了,学通了用啥库都是一样的,怎么提高工作效率怎么来
所谓心中有剑,手里拿根稻草也是宝剑
zhao.zhao 回答时间:2017-6-30 15:35:25
    举个例子,当你要把一个外部时钟驱动改成内部时钟驱动时,使用标准库的朋友,要抓瞎了吧,没1,2小时,能搞得定吗?对很多初学者来说,在哪个函数里改可能都不知道。所以使用HAL库是有好处的,至少可以减轻工作量,提高工作效率。
    至于库函数执行效率高的说法,这个我得承认,使用库函数比HAL库是快一些。但是,对一个应用来说,你在程序中总不能不停的对某个部件在初始化吧,很多场合初始化也就开机做一次就好了,难道我们就不能容忍开机时多运行了那么几个uS的时间吗?
    HAL库中有些函数是在判断各种各样的情况,然后运行一个满足条件的函数,所谓的效率低,其实就是判断运行的多了一些,如果按标准库函数的做法,自己直接添加写一个HAL函数也是没什么难的。
    再说如果老是抱怨HAL的效率低下的话,那么你检查一下,你的程序中有没有用到了延迟函数?并且你的程序为什么不用汇编写呢?
zhao.zhao 回答时间:2018-8-8 16:36:50
HAL库很好用,至少你不用去频繁翻参考手册了,而且HAL库考虑比较周到,按用户设想,基本配置好了不会有什么问题。
优点:解放了程序员的生产力,把貌似高端的底层接口编程变成了简单的HAL库函数调用就可以了。程序员可以把精力放在思考程序的结构上了。维护也方便。可读性更好。
缺点:程序显得有点啰嗦,做了太多的没有用到的功能的判断,效率有点低,这也是受到攻击的主要方面。尤其是中断调用,会耽搁更多的时间。
综合:优点不说了,缺点确是可以克服的。一般初始化程序,无所谓效率,它就是开机执行一次。其他应用函数,如果你觉得它效率低下,也可以直接改写个新的,不用HAL库也不是个难事,改成寄存器操作的,毕竟HAL库追根溯源它也是读写寄存器的,只不过它经过多次封装后,对用户来说隐藏得有点深。
最后结论,推荐HAL库。
anobodykey 回答时间:2016-9-23 10:42:20
这是一种趋势,越方便开发的库,效率肯定是越低的,bug的确是有,待完善吧
高二毛 回答时间:2016-9-23 11:29:28
anobodykey 发表于 2016-9-23 10:42
这是一种趋势,越方便开发的库,效率肯定是越低的,bug的确是有,待完善吧

说的非常好
zhangxu56726 回答时间:2016-9-23 11:36:02
效率低,对于小白或者刚接触的人,不好上手,代码可读性不强,还是驱动驱动库好用,我一直用标准驱动库开发
Tcreat 回答时间:2016-9-23 11:45:13
我也感觉不是很好 而且有些外设的函数 感觉设计不是很合理 使用很糟心  我当时把遇到的问题 有上传中文网站 可惜他们视而不见  没有被审核通过 连回访电话也没有  很失望~
stary666 回答时间:2016-9-23 12:04:03
鸡肋,,,,,,,,,,,,,,,,,,,,
忘记一切Q 回答时间:2016-9-23 13:26:09
Tcreat 发表于 2016-9-23 11:45
我也感觉不是很好 而且有些外设的函数 感觉设计不是很合理 使用很糟心  我当时把遇到的问题 有上传中文网站 ...

大神啊!!
Stm32McuLover 回答时间:2016-9-23 17:49:22
趋势呀,降低门槛,反对的多是苦读汇编的
Inc_brza 回答时间:2016-9-23 18:00:49
会玩的,就很好,不会玩的,就不好
埃斯提爱慕 回答时间:2016-9-23 19:38:48
提示: 作者被禁止或删除 内容自动屏蔽
haohao663 回答时间:2016-9-24 08:42:58
那些说效率低的大神不知道有没有做过实际测试的?就是与标准库对比的测试?估计几乎都没有(个人观点),只是凭感觉的在说效率低吧(实际上,个人觉得效率应该是低一些,但不会低到那里去)
个人认为hal库(以前用过标准库,现在偶尔也用)相比还是使用方便一些
zbber 回答时间:2016-9-24 09:34:30
收藏了,感谢楼主的无私分享
zhangxu56726 回答时间:2016-9-24 09:35:50

好个鸟蛋啊
zhangxu56726 回答时间:2016-9-24 09:37:13
哈佛祖安智 发表于 2016-9-23 17:49
趋势呀,降低门槛,反对的多是苦读汇编的

当你对程序效率要求很高的时候,你就知道了,HAL很苦逼的
zhangxu56726 回答时间:2016-9-24 09:37:43
Inc_brza 发表于 2016-9-23 18:00
会玩的,就很好,不会玩的,就不好

喜欢的都是之前做应用的,或者不喜欢做驱动的
123下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版