1. 程式人生 > >STM32F103 的晶振由8M改為了12M,串列埠該怎麼配置

STM32F103 的晶振由8M改為了12M,串列埠該怎麼配置

UART 通訊的波特率是跟時鐘頻率有關的。所以隨便換個晶振,必然影響 UART 的工作。翻開庫函式 USART_Init,通過 RCC_GetClocksFreq 函式獲取系統頻率的。而此函式又是由 HSE_VALUE 影響頻率值的。這就是晶振頻率。這個巨集在 stm32f10x.h 裡做了定義,你可以直接到這個標頭檔案裡改掉它。由於使用了 #if !defined HSE_VALUE#define HSE_VALUE xxxx的方式,由於Keil MDK 編譯器的預定義符號裡被不能給 HSE_VALUE 定義 12000000 這樣的常數,你也可以自己建立一個頭檔案來定義 HSE_VALUE 12000000, #include 先於 stm32f10x.h (說起來有點複雜,但可以不去改 stm32f10x.h)。