打印
[开发工具]

STM32CubeIDE无法为 RCC、ADC 或 USART 设置 LL 库

[复制链接]
114|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小库里|  楼主 | 2025-3-23 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在STM32CubeIDE用 HAL 做了一个应用程序,在 Project Manager, Advanced Settings 页面,选择了 LL 库而不是 HAL。
但是目前只有 GPIO LL 库是可选的,无法为 RCC、ADC 或 USART 设置 LL 库。
这个问题如何破。



使用特权

评论回复
沙发
公羊子丹| | 2025-3-24 08:17 | 只看该作者
STM32CubeIDE 里确实有些外设的 LL 选项默认是灰色的,可能是 CubeMX 版本的问题,你用的是哪个版本?

使用特权

评论回复
板凳
周半梅| | 2025-3-24 08:19 | 只看该作者
试试先创建一个 HAL 工程,然后手动把 stm32xxxx_ll_xxx.c 和 stm32xxxx_ll_xxx.h 文件加到工程里,应该可以用。

使用特权

评论回复
地板
帛灿灿| | 2025-3-24 08:20 | 只看该作者
你可以在 Drivers/STM32xxxx_LL_Driver 目录下看看,有没有 stm32xxxx_ll_rcc.c、stm32xxxx_ll_adc.c 这些文件,如果没有,可能需要手动添加。

使用特权

评论回复
5
童雨竹| | 2025-3-24 08:21 | 只看该作者
LL 库和 HAL 可以混用,你可以在 HAL 工程里直接包含 LL 头文件,比如 #include "stm32xxxx_ll_rcc.h",然后用 LL API 操作。

使用特权

评论回复
6
万图| | 2025-3-24 08:22 | 只看该作者
你用的是哪个 STM32 芯片?有些芯片的 LL 库支持度不一样,CubeMX 可能不会自动生成。

使用特权

评论回复
7
Wordsworth| | 2025-3-24 08:23 | 只看该作者
你可以手动修改 stm32xxxx_hal_conf.h,把 #define USE_FULL_LL_DRIVER 打开,这样应该能启用 LL 库支持。

使用特权

评论回复
8
Bblythe| | 2025-3-24 08:25 | 只看该作者
试试更新 STM32CubeMX 和 CubeIDE,可能是旧版本的问题,新版可能修复了 LL 选项不可选的 bug。

使用特权

评论回复
9
Pulitzer| | 2025-3-24 08:26 | 只看该作者
如果只是 RCC、ADC、USART 这些模块要用 LL,你可以直接查阅官方 LL 库的 API 文档,手写初始化代码,不一定非要 CubeMX 生成。

使用特权

评论回复
10
Uriah| | 2025-3-24 08:27 | 只看该作者
LL 库比 HAL 库更贴近寄存器级别,初始化代码比较短,你可以参考官方的 LL 库示例,把对应的初始化代码手写进去。

使用特权

评论回复
11
Clyde011| | 2025-3-24 08:29 | 只看该作者
你可以在 CubeMX 生成 HAL 工程后,手动改成 LL,比如替换 HAL 的 HAL_RCC_XXX() 调用为 LL_RCC_XXX(),手动实现 LL 方式的初始化。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

0

粉丝