zoukankan      html  css  js  c++  java
  • 修改STM32主频

    材料

    • STM32F407VET6
    • 20M晶振

    目标

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

    步骤

    • 修改system_stm32f4xx.c文件,PLL_M=10,PLL_N=80,PLL_P=2

    • 修改Stm32f4xx.h文件,将HSE_VALUE改成晶振频率20000000

    参考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的

    拿一个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

  • 相关阅读:
    【Alpha】开发日志Day30714
    【Alpha】开发日志Day10712
    实验1
    实验2
    图深度优先搜索最短路径
    一切都结束了
    C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)
    字符串匹配
    纯数学规律题
    高精度
  • 原文地址:https://www.cnblogs.com/isyefeng/p/15674762.html
Copyright © 2011-2022 走看看