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 */

發佈了95 篇原創文章 · 獲贊 74 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章