搜索
bottom↓
回复: 36

第一次用cubemx+hal库,初始化方便,点几下就行,可是改起来费劲

[复制链接]

出130入129汤圆

发表于 2023-4-13 10:44:39 | 显示全部楼层 |阅读模式
用了十几年标准库,新的板子尝试下用cubemx,毕竟点几下就能初始化好一个工程的确很省事。
不过后面要自己修修改改加代码时候,HAL的库就绕得太多层了,以前标准库看一下函数命名就知道用哪个函数,而在HAL库里非常模棱两可。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2023-4-13 10:51:06 | 显示全部楼层
我是守旧派,不想碰HAL库。

出0入0汤圆

发表于 2023-4-13 10:56:58 | 显示全部楼层
如果想贴近以前的更靠近低层的直接操作,可以对需要的地方使用LL层。在cubemx里面可以对单一模块切换HAL和LL。

出1315入193汤圆

发表于 2023-4-13 10:59:40 | 显示全部楼层
效益低
更改困难
一旦库有bug  
投入时间和经历太大

当然   趋势是这样发展滴

出0入0汤圆

发表于 2023-4-13 11:02:29 | 显示全部楼层
习惯了就觉得好用. 除非完全不碰新款芯片, 不然这东西是避不掉的

出0入0汤圆

发表于 2023-4-13 11:03:32 | 显示全部楼层
按它的规范来,也不会很麻烦吧

出0入162汤圆

发表于 2023-4-13 11:16:27 来自手机 | 显示全部楼层
HAL库太大了。我现在用LL库,类似标准库

出590入992汤圆

发表于 2023-4-13 11:43:04 | 显示全部楼层
我LL库都不用,底层给几乎都给我改了。

出0入53汤圆

发表于 2023-4-13 13:52:22 | 显示全部楼层
sy8501 发表于 2023-4-13 10:51
我是守旧派,不想碰HAL库。
(引用自2楼)

新片子只能用HAL, 我一般用HAL做为初始化,其他地方就直接操作寄存器来的效率高

出0入211汤圆

发表于 2023-4-13 14:01:33 来自手机 | 显示全部楼层
HAL库确实不太好使用,一直用LL,或者干脆直驱

出235入235汤圆

发表于 2023-4-13 14:08:06 | 显示全部楼层
挺方便的,比自己写来的快很多。。
现在基本都依赖cubumx ,,,基本没有配置、的层的错误。。应用层直接在它标注好的用户代码开始和结束位置写。。
重新生成代码的时候用户代码不会覆盖。

出105入79汤圆

发表于 2023-4-13 14:56:07 | 显示全部楼层
所有配置都自动生成,git维护好ico文件。逻辑另外加函数实现,main里面只调用函数入口,放另外一个文件。

出0入0汤圆

发表于 2023-4-13 18:34:24 来自手机 | 显示全部楼层
我还没用过cube

出0入1209汤圆

发表于 2023-4-13 18:45:17 | 显示全部楼层
HAL库里面都有详细的说明啊,每个函数以及个参数都有说明。

出0入75汤圆

发表于 2023-4-13 23:05:51 来自手机 | 显示全部楼层
HAL库有手册,每个模块的用法都有文字说明,程序里还有注释也能看明白大部分函数用法,熟悉HAL的套路写程序很快的,有特殊用法换LL库。

出0入300汤圆

发表于 2023-4-16 06:02:02 | 显示全部楼层
迫不得已碰了一下,但日常坚决不碰

出130入129汤圆

 楼主| 发表于 2023-4-17 15:17:26 | 显示全部楼层
折腾了几天,弄了一半的HAL工程删掉,重新用标准库做

出0入18汤圆

发表于 2023-4-17 16:20:59 | 显示全部楼层
只用 LL 库,实在没办法就去抄初始化,嵌套太多层,注释太多又臭又长;

出0入0汤圆

发表于 2023-4-17 17:43:18 | 显示全部楼层
68336016 发表于 2023-4-17 15:17
折腾了几天,弄了一半的HAL工程删掉,重新用标准库做
(引用自17楼)


又一个从入门到放弃

出20入30汤圆

发表于 2023-4-17 18:00:38 来自手机 | 显示全部楼层
我对ST的MCU使用感受就是做项目标准库最好用了,如果项目因为价格或其它原因不适合用这公司的芯片了,马上换其他厂家的,这时候他们的配置软件无论多么智能多么方便,已经没意义了。

对于HAL库,ST公司为了整合他们的软件生态环境,为了兼顾其它系列的芯片,里面嵌套的东西绕来绕去的,让人看着很烦。

出0入25汤圆

发表于 2023-4-17 18:23:43 | 显示全部楼层

不同意楼上说 HAL 是趋势。。那么多单片机厂商,,有几家搞 HAL 这种东西的??

出0入0汤圆

发表于 2023-4-17 18:35:05 | 显示全部楼层
ST为毛不在标准库基础上去开发一键配置的工具。
非要搞这么个东西出来。

明显市场反应很不好啊。

出0入0汤圆

发表于 2023-4-17 20:24:43 | 显示全部楼层
我用stm32G070,请问还能用标准固件库吗?如果不行,那么用啥?在哪里获得

出0入162汤圆

发表于 2023-4-17 20:44:56 来自手机 | 显示全部楼层
yinhe 发表于 2023-4-17 20:24
我用stm32G070,请问还能用标准固件库吗?如果不行,那么用啥?在哪里获得
(引用自23楼)

LL库吧,和标准库差不多的简洁

出0入32汤圆

发表于 2023-4-17 21:36:08 | 显示全部楼层
HAL库养成习惯了,突然让切别的单片机就有点儿不会弄了,所以我还是一直用官方给的底层驱动自己改写。

出0入0汤圆

发表于 2023-4-17 22:50:18 | 显示全部楼层
令狐冲 发表于 2023-4-17 21:36
HAL库养成习惯了,突然让切别的单片机就有点儿不会弄了,所以我还是一直用官方给的底层驱动自己改写。 ...
(引用自25楼)

所以用HAL库会慢性中毒吧

出0入0汤圆

发表于 2023-4-17 22:52:42 | 显示全部楼层
AWEN2000 发表于 2023-4-17 20:44
LL库吧,和标准库差不多的简洁
(引用自24楼)

谢谢,知道了,LL从哪里下载?具体怎样用?像标准固件库一样直接“include ..”?

出0入0汤圆

发表于 2023-4-19 12:49:58 | 显示全部楼层
我是守旧派,不想碰HAL库。+1

用标准库的移植到其他品牌方便些

出0入75汤圆

发表于 2023-4-19 14:03:44 | 显示全部楼层
lw32 发表于 2023-4-19 12:49
我是守旧派,不想碰HAL库。+1

用标准库的移植到其他品牌方便些
(引用自28楼)

我怎么觉得用HAL库移植到别的品牌更容易,只改接口部分程序,逻辑和算法都不用变。

出0入25汤圆

发表于 2023-4-19 16:00:07 | 显示全部楼层
Doding 发表于 2023-4-19 14:03
我怎么觉得用HAL库移植到别的品牌更容易,只改接口部分程序,逻辑和算法都不用变。 ...
(引用自29楼)


怎么可能??
绝大多数厂商的单片机外设库都是类StdPD风格的,,肯定是用标准外设库写的ST程序更容易移植到其他品牌的MCU啊。。

出0入59汤圆

发表于 2023-4-19 16:20:19 | 显示全部楼层
用HAL切换了新的ST芯片,   3天就出Demo 给老板看样机了, 后面用了2个月去解决新的芯片移植的所带来的硬件问题,什么网口死机,以太网掉包啊,文件系统异常。。。。。

用了HAL 真是找个中专毕业的都能几天时间搞定操作系统,图形界面、LWIP,文件系统;把嵌入式的门槛拉到贴地, 只不过出了问题就只能跑路

出95入8汤圆

发表于 2023-4-19 19:16:16 | 显示全部楼层
polarbear 发表于 2023-4-19 16:20
用HAL切换了新的ST芯片,   3天就出Demo 给老板看样机了, 后面用了2个月去解决新的芯片移植的所带来的硬件 ...
(引用自31楼)

网口死机,以太网掉包啊,文件系统异常  ,怎么解决?

只用汇编+51的,都没机会碰这些外设

出0入162汤圆

发表于 2023-4-19 20:49:34 来自手机 | 显示全部楼层
yinhe 发表于 2023-4-17 22:52
谢谢,知道了,LL从哪里下载?具体怎样用?像标准固件库一样直接“include ..”? ...
(引用自27楼)

Cubemx中生成代码可以选择LL库

出100入312汤圆

发表于 2023-4-20 08:26:26 | 显示全部楼层
polarbear 发表于 2023-4-19 16:20
用HAL切换了新的ST芯片,   3天就出Demo 给老板看样机了, 后面用了2个月去解决新的芯片移植的所带来的硬件 ...
(引用自31楼)

本来就是搭了个框架,比如lwip+freertos+fatfs,这些本来也不可能自己去实现,产品功能应用层还是要自己实现。

出0入162汤圆

发表于 2023-4-20 08:51:21 来自手机 | 显示全部楼层
这玩意生成的代码太乱了。
我一般用LL库,然后拷贝生成的函数到自己程序里

出130入129汤圆

 楼主| 发表于 2023-4-20 09:03:43 | 显示全部楼层
AWEN2000 发表于 2023-4-20 08:51
这玩意生成的代码太乱了。
我一般用LL库,然后拷贝生成的函数到自己程序里 ...
(引用自35楼)

我用标准库调通了程序, 又闲着回来看看HAL到底怎么回事。
像标准库,我们使能了什么中断,自己要去清中断,这是一目了然的。
但是HAL下,究竟什么时候要去自己手工清中断,什么时候HAL那些系统函数会自动清中断,感觉很茫然。
分不清哪些要自己做哪些不要自己做

出0入0汤圆

发表于 2023-4-20 10:10:20 | 显示全部楼层
AWEN2000 发表于 2023-4-19 20:49
Cubemx中生成代码可以选择LL库
(引用自33楼)

好的,谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-31 02:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表