zoukankan      html  css  js  c++  java
  • STM32 标准库3.5修改默认外部8M晶振为16M晶振

    ST官方标准库V3.5默认的外部晶振频率为8M,实际使用中外部晶振需要修改为16M;

    经过实验,修改有效,具体的patch如下:

    修改 HSE_VALUE 值

    diff --git "a/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h" "b/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h"
    index 8bf7624..e0ad316 100644
    --- "a/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h"
    +++ "b/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h"
    @@ -116,7 +116,9 @@
      #ifdef STM32F10X_CL   
       #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
      #else 
    -  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
    +//  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
    +#define HSE_VALUE	 ((uint32_t)16000000) /*!< Value of the External oscillator in Hz */
    +
      #endif /* STM32F10X_CL */
     #endif /* HSE_VALUE */
    

    修改 SetSysClockTo72 函数中RCC 配置

    diff --git "a/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c" "b/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c"
    index 71efc85..eb912bd 100644
    --- "a/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c"
    +++ "b/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c"
    
    @@ -1053,7 +1054,11 @@ static void SetSysClockTo72(void)
         /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
         RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                             RCC_CFGR_PLLMULL));
    -    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
    +
    +//		RCC_CFGR_HPRE_DIV2
    +    //RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9 | RCC_CFGR_PPRE1_DIV2);
    +	RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLXTPRE_HSE_Div2);
    +
     #endif /* STM32F10X_CL */
     
         /* Enable PLL */
    
    STM32F10X_CL */
     
         /* Enable PLL */
    
    
  • 相关阅读:
    docker 容器启动时设置环境变量source
    解决docker容器中Centos7系统的中文乱码
    Python 常用的标准库以及第三方库有哪些?
    excel 两列值匹配取另外一列值 INDEX MATCH 函数
    Dockerfile编写,以及设置一个自启动脚本
    主机、Docker时间与时区设置总结
    CentOS安装scp命令
    Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)
    yum 安装 tomcat
    Docker退出容器不关闭容器的方法
  • 原文地址:https://www.cnblogs.com/unclemac/p/12783363.html
Copyright © 2011-2022 走看看