You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32 Cube IDE生成的SystemClock_Config代码是否缺少PWR时钟使能?

关于STM32 Cube IDE生成SystemClock_Config代码的PWR时钟使能问题

你的判断完全正确——调用LL_PWR_SetRegulVoltageScaling()函数前,必须先调用LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_PWR)使能PWR外设时钟。

原因说明

STM32的PWR外设挂载在APB1总线上,所有挂载在总线的外设,在访问其寄存器之前都必须先开启对应总线的时钟,否则寄存器读写操作会被硬件忽略,配置无法生效。LL_PWR_SetRegulVoltageScaling()本质是修改PWR外设的CR1寄存器,若未提前使能时钟,该配置操作无效,会导致电压缩放设置失败,后续高主频时钟运行时可能出现稳定性问题,甚至触发硬件异常。

代码问题确认

你提供的这段Cube IDE生成的SystemClock_Config()代码确实遗漏了PWR时钟使能步骤,属于生成代码的疏漏。正确的代码应该在调用LL_PWR_SetRegulVoltageScaling()前添加时钟使能语句:

// 新增PWR时钟使能
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_PWR);

LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1);
while (LL_PWR_IsActiveFlag_VOS() != 0)
{
}

内容的提问来源于stack exchange,提问作者이석희

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 23:48:29