在串口通信实验中出现通信乱码怎么办

发布时间: 2024-03-18
来源: 电子工程世界

在串口通信实验中,如果出现了通信乱码问题,如图

wKgaomQEWIWAFhzCAAFEH1LUATI916.png

串口通信成功了,但是接收的数据是乱码,可以从以下几个方面解决:

1,PC端和MCU的波特率是否一致

2,MCU的外部晶振大小和库函数设置的外部晶振大小不一致

波特率很好检查,本文重点检查外部晶振配置。

我用的是正点原子的STM32F407ZG6,在进行串口通信时一直是乱码。

GPIO,串口配置都没问题,最后出问题的地方就是外部晶振配置。

我们知道STM32在使用外设的时候必须打开时钟,外设主要用的是外部时钟。

如图正点原子的外部时钟是8MHZ

wKgZomQEWJ-AZpONAADIDj5HZRM699.png

而stm32f4xx.h中外部时钟默认是25MHZ,所以时钟不同步,通信肯定会出问题。

wKgaomQEWN2Abo9-AAHoOlwQMjY524.png

注:如果是野火的霸道开发板则不需要改库函数的外部晶振,因为野火用的外部晶振是25MHZ,和库函数配置一样,不需要修改.


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。