STM32H7 out of range for this VOS range 的解决方法

在使用STM32CubeMX配置Nucleo-STM32H743ZI开发板时遇到频率超范围错误。问题源于电压域等级配置不正确,MCU的最高主频需配合电压域等级0。通过将【PowerRegulatorVoltageScale3】改为【PowerRegulatorVoltageScale0】,成功设置480MHz主频。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

  • 开发板:Nucleo-STM32H743ZI,使用STM32CubeMX配置时钟时,报错:
    Frequency searched for is out of range for this VOS range

  • 尝试把96MHz 改为MCU支持的最高频率:480MHz时,报错
    在这里插入图片描述

解决方法

  • 这里提示的是MCU 时钟配置的【电压域】等级不对
  • 使用其他的STM32配置时钟时,会配置【电压域】,最高主频需要配置【电压域】等级为0

在这里插入图片描述

  • STM32CubeMX 【RCC】配置部分,有MCU内核【电压域】的配置,这里默认等级为3,改为0
  • 【Power Regulator Voltage Scale 3】改为【Power Regulator Voltage Scale 0】

改完验证

  • 发现可以正常配置系统主频【480MHz】了
    在这里插入图片描述

小结

  • 使用可视化的STM32CubeMX,可以减轻时钟、外设等配置的工作量
  • 熟悉STM32H743 最高时钟配置方法
### 使用STM32CubeMX配置H7系列微控制器的系统时钟 #### 配置环境准备 为了成功配置STM32H7系列微控制器的系统时钟,在启动STM32CubeMX软件之后,需进入"Pinout & Configuration"选项卡并选择目标STM32微控制器型号[^3]。 #### 选择合适的时钟源 对于STM32H7来说,可以利用高性能外部晶体振荡器(HSE),内部多速率振荡器(MSI), 或者低功耗内部振荡器(LSI)作为系统的主时钟源。考虑到性能需求,通常推荐采用外部高速晶振来获得更稳定可靠的高频信号。此外,还可以考虑使用锁相环(PLL)进一步提升工作频率至数百兆赫兹级别[^2]。 #### 设置期望的工作频率 当尝试设定较高的CPU核心运行速度比如接近或达到400MHz时,需要注意并非所有的电压调节模式(VOS ranges)都支持如此高的频率范围;如果遇到错误提示`Frequency searched for is out of range for this VOS range`则表明当前选定的操作条件不允许该频率设置。此时应该查阅数据表确认允许的最大频率以及对应的供电参数,并据此调整项目中的电源管理部分以匹配所需的频率等级[^4]。 #### 调整PLL参数实现所需倍频效果 一旦决定了基本时钟输入路径及其大致频率后,便可通过修改PLL的相关寄存器值来进行必要的乘法运算从而得到理想的输出频率供后续各级子系统使用。这一步骤涉及到多个可调因子的选择,如N, M, P, Q 和 R等,它们共同作用于原始时钟信号之上完成最终的目标转换过程。 ```c // 示例代码片段展示如何初始化PLL结构体成员变量 __HAL_RCC_PLL_CONFIG(RCC_PLLSOURCE_HSE, RCC_PLLM_DIV_1, RCC_PLLN_VALUE, RCC_PLLP_DIV_2); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangsz_sh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值