68336016 发表于 2023-4-13 10:44:39

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

用了十几年标准库,新的板子尝试下用cubemx,毕竟点几下就能初始化好一个工程的确很省事。
不过后面要自己修修改改加代码时候,HAL的库就绕得太多层了,以前标准库看一下函数命名就知道用哪个函数,而在HAL库里非常模棱两可。

sy8501 发表于 2023-4-13 10:51:06

我是守旧派,不想碰HAL库。

flamma 发表于 2023-4-13 10:56:58

如果想贴近以前的更靠近低层的直接操作,可以对需要的地方使用LL层。在cubemx里面可以对单一模块切换HAL和LL。

lb0857 发表于 2023-4-13 10:59:40

效益低
更改困难
一旦库有bug
投入时间和经历太大

当然   趋势是这样发展滴

pcl 发表于 2023-4-13 11:02:29

习惯了就觉得好用. 除非完全不碰新款芯片, 不然这东西是避不掉的

amwjz 发表于 2023-4-13 11:03:32

按它的规范来,也不会很麻烦吧

AWEN2000 发表于 2023-4-13 11:16:27

HAL库太大了。我现在用LL库,类似标准库

SUPER_CRJ 发表于 2023-4-13 11:43:04

我LL库都不用,底层给几乎都给我改了。

zhcj66 发表于 2023-4-13 13:52:22

sy8501 发表于 2023-4-13 10:51
我是守旧派,不想碰HAL库。
(引用自2楼)

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

hushaoxin 发表于 2023-4-13 14:01:33

HAL库确实不太好使用,一直用LL,或者干脆直驱

lyping1987 发表于 2023-4-13 14:08:06

挺方便的,比自己写来的快很多。。
现在基本都依赖cubumx ,,,基本没有配置、的层的错误。。应用层直接在它标注好的用户代码开始和结束位置写。。
重新生成代码的时候用户代码不会覆盖。

qwe2231695 发表于 2023-4-13 14:56:07

所有配置都自动生成,git维护好ico文件。逻辑另外加函数实现,main里面只调用函数入口,放另外一个文件。

爱晴海玩偶 发表于 2023-4-13 18:34:24

我还没用过cube

kitten 发表于 2023-4-13 18:45:17

HAL库里面都有详细的说明啊,每个函数以及个参数都有说明。

Doding 发表于 2023-4-13 23:05:51

HAL库有手册,每个模块的用法都有文字说明,程序里还有注释也能看明白大部分函数用法,熟悉HAL的套路写程序很快的,有特殊用法换LL库。

ibmx311 发表于 2023-4-16 06:02:02

迫不得已碰了一下,但日常坚决不碰

68336016 发表于 2023-4-17 15:17:26

{:lol:}折腾了几天,弄了一半的HAL工程删掉,重新用标准库做

dengxiaofeng 发表于 2023-4-17 16:20:59

只用 LL 库,实在没办法就去抄初始化,嵌套太多层,注释太多又臭又长;

modbus 发表于 2023-4-17 17:43:18

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

又一个从入门到放弃{:lol:}

HXDZ-AAA 发表于 2023-4-17 18:00:38

我对ST的MCU使用感受就是做项目标准库最好用了,如果项目因为价格或其它原因不适合用这公司的芯片了,马上换其他厂家的,这时候他们的配置软件无论多么智能多么方便,已经没意义了。

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

XIVN1987 发表于 2023-4-17 18:23:43


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

sy8501 发表于 2023-4-17 18:35:05

ST为毛不在标准库基础上去开发一键配置的工具。
非要搞这么个东西出来。

明显市场反应很不好啊。

yinhe 发表于 2023-4-17 20:24:43

我用stm32G070,请问还能用标准固件库吗?如果不行,那么用啥?在哪里获得

AWEN2000 发表于 2023-4-17 20:44:56

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

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

令狐冲 发表于 2023-4-17 21:36:08

HAL库养成习惯了,突然让切别的单片机就有点儿不会弄了,所以我还是一直用官方给的底层驱动自己改写。

yinhe 发表于 2023-4-17 22:50:18

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

所以用HAL库会慢性中毒吧{:smile:}

yinhe 发表于 2023-4-17 22:52:42

AWEN2000 发表于 2023-4-17 20:44
LL库吧,和标准库差不多的简洁
(引用自24楼)

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

lw32 发表于 2023-4-19 12:49:58

我是守旧派,不想碰HAL库。+1

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

Doding 发表于 2023-4-19 14:03:44

lw32 发表于 2023-4-19 12:49
我是守旧派,不想碰HAL库。+1

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

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

XIVN1987 发表于 2023-4-19 16:00:07

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


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

polarbear 发表于 2023-4-19 16:20:19

用HAL切换了新的ST芯片,   3天就出Demo 给老板看样机了, 后面用了2个月去解决新的芯片移植的所带来的硬件问题,什么网口死机,以太网掉包啊,文件系统异常。。。。。

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

zzsczz 发表于 2023-4-19 19:16:16

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

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

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

AWEN2000 发表于 2023-4-19 20:49:34

yinhe 发表于 2023-4-17 22:52
谢谢,知道了,LL从哪里下载?具体怎样用?像标准固件库一样直接“include ..”? ...
(引用自27楼)

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

akey3000 发表于 2023-4-20 08:26:26

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

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

AWEN2000 发表于 2023-4-20 08:51:21

这玩意生成的代码太乱了。
我一般用LL库,然后拷贝生成的函数到自己程序里

68336016 发表于 2023-4-20 09:03:43

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

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

yinhe 发表于 2023-4-20 10:10:20

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

好的,谢谢
页: [1]
查看完整版本: 第一次用cubemx+hal库,初始化方便,点几下就行,可是改起来费劲