[开发工具] STM32CubeIDE无法为 RCC、ADC 或 USART 设置 LL 库

[复制链接]
2185|14
 楼主| 小库里 发表于 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 这些文件,如果没有,可能需要手动添加。
童雨竹 发表于 2025-3-24 08:21 | 显示全部楼层
LL 库和 HAL 可以混用,你可以在 HAL 工程里直接包含 LL 头文件,比如 #include "stm32xxxx_ll_rcc.h",然后用 LL API 操作。
万图 发表于 2025-3-24 08:22 | 显示全部楼层
你用的是哪个 STM32 芯片?有些芯片的 LL 库支持度不一样,CubeMX 可能不会自动生成。
Wordsworth 发表于 2025-3-24 08:23 | 显示全部楼层
你可以手动修改 stm32xxxx_hal_conf.h,把 #define USE_FULL_LL_DRIVER 打开,这样应该能启用 LL 库支持。
Bblythe 发表于 2025-3-24 08:25 | 显示全部楼层
试试更新 STM32CubeMX 和 CubeIDE,可能是旧版本的问题,新版可能修复了 LL 选项不可选的 bug。
Pulitzer 发表于 2025-3-24 08:26 | 显示全部楼层
如果只是 RCC、ADC、USART 这些模块要用 LL,你可以直接查阅官方 LL 库的 API 文档,手写初始化代码,不一定非要 CubeMX 生成。
Uriah 发表于 2025-3-24 08:27 | 显示全部楼层
LL 库比 HAL 库更贴近寄存器级别,初始化代码比较短,你可以参考官方的 LL 库示例,把对应的初始化代码手写进去。
Clyde011 发表于 2025-3-24 08:29 | 显示全部楼层
你可以在 CubeMX 生成 HAL 工程后,手动改成 LL,比如替换 HAL 的 HAL_RCC_XXX() 调用为 LL_RCC_XXX(),手动实现 LL 方式的初始化。
laocuo1142 发表于 2025-3-24 15:46 | 显示全部楼层
用的STM32CubeMX和STM32CubeIDE的最新版本!
stormwind123 发表于 2025-3-24 15:49 | 显示全部楼层
考虑使用其他开发工具,如Keil 、IAR等。
flycamelaaa 发表于 2025-3-24 19:00 | 显示全部楼层
手动添加LL库代码。
powerantone 发表于 2025-3-24 19:20 | 显示全部楼层
可以考虑使用HAL库。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

56

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部