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