以下是本人遇到过的串口乱码情况,如果有更多情况或者出错的地方欢迎补充,指出.

一.波特率不匹配

查看自己编译的代码的波特率与串口助手是否一致.

二..c文本编码格式与编译器不匹配(一般不会发生)

        这个可以参考我上一篇博客

三.晶振不匹配(一般出现在标准库中)

        这个问题是我用野火霸道的例程去跑最小系统板出现的,野火晶振配置为25Mhz,最小系统板外部晶振为8M,如果代码配置的晶振和使用的不匹配会出现串口乱码等

        因此分别对system_stm32f4xx.c文件中的 PLL_M的值由25改为8,和stm32f4xx.h文件中的HSE_VALUE改由25000000为8000000 

四.电平不匹配

        TTL,232,485等不匹配导致.

更多推荐