修改STM32主频

材料

  • STM32F407VET6
  • 20M晶振

目标

  • 配置成80M系统主频(这里进行了降频,由于项目需要,一般是配置成168M的)

步骤

  • 修改system_stm32f4xx.c文件如下图
    修改STM32主频

参考315,331行
PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
SYSCLK = PLL_VCO / PLL_P
这里我们 HSE_VALUE=20M(晶振频率),PLL_M=10,PLL_N=80,PLL_P=2,代入上面公式可以计算得SYSCLK=80M

这里再记录一下PLL_Q,他是用来配置USB OTG FS, SDIO and RNG Clock时钟的,公式为USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ,因为我这个项目不用这几个外设,所以我就保持了默认7,如果要使用这几个外设,那么一定要注意,USB OTG FS的时钟频率手册明确说明了是需要配置成48M的
修改STM32主频

拿一个8M外部晶振,主频168M的工程举个栗子,他的配置如下
PLL_M=8,PLL_N=336,PLL_P=2,PLL_Q=7 USB OTG FS, SDIO and RNG Clock = 8/8*336/7 = 48M

上一篇:开关电源5.2V/2.5A,(双USB输出)生产方案资料,已量产已验证


下一篇:自己动手做一个USB摄像头