原因一:
初始化串口的波特率與串口調試助手不一致。
原因二:
晶震不一致。
串口輸出始終亂碼,外部時鍾頻率配置錯誤導致的,庫使用默認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