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

控制/MCU

1878人已加入

描述

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

通信

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

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

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

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

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

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

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

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

通信

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

通信

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分