STM32串口輸出亂碼


 原因一:

初始化串口的波特率與串口調試助手不一致。

 

原因二:

晶震不一致。

串口輸出始終亂碼,外部時鍾頻率配置錯誤導致的,庫使用默認8MHz晶震,可以通過宏使用25MHz晶震。具體定義在 stm32f10x.h 文件中

開發板晶震使用的12MHz晶震,定義一個宏修改成12000000,編譯,燒寫。

 

#if !defined  HSE_VALUE
 #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 */
 #endif /* STM32F10X_CL */
#endif /* HSE_VALUE */

 

修改為:

 

#define HSE_VALUE    ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */

#if !defined  HSE_VALUE
 #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 */
 #endif /* STM32F10X_CL */
#endif /* HSE_VALUE */

 

REF

http://www.elecfans.com/emb/danpianji/20180613694741.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM