两个stm32模块间串口通信,接收端显示乱码!

2019-08-14 18:10发布

开源电子网是学习stm32的好帮手!谢谢原子哥以及论坛上各位“英雄”的一直以来热心分享才让我这样的菜鸟有入门stm32的可能!以下是我在学习过程中遇到的问题,请各位来指教指教!

首先我在 stm32mini板(该板上无MAX3232芯片)上移植了原子哥的串口驱动代码(战舰附带例程,在这就不贴出来了),同时在
stm32mini板加了一个1602作为显示模块,在PC端用串口调试助手测试,能正常收发数据,stm32mini板正确收到来自PC端的数据,
并正常在1602显示,如下:


串口测试 串口测试 串口1602.jpg
另外一个模块接有一个转接板,转接板上有一块MAX3232芯片,给这块转接板接5V整个模块才能够正常工作。这个模块通过串口通信
与外界通信。我用PC端的串口调试助手测试该模块,该模块传出的数字(6945091701532,碳素笔上的数字,哈哈)同样能够正常在PC端显示。
但是问题在于当我用这个5V供电的模块与stm32mini板通过串口通信时,stm32mini板接收到该模块上的数据,显示为一组乱码,而且
每次从该模块向stm32mini板发同一组数字(6945091701532),stm32mini板接收到的数据都有可能不一样!
串口2.jpg 串口3.jpg
看了论坛前辈们讨论过相似的问题,怀疑stm32mini板接收到乱码的原因模块与stm32mini板之间通信时存在电平不匹配问题。于是
我尝试了以下方案:
上拉电路.jpg 上拉2.png
但是结果不如人意,乱码如故!请问各位前辈,以上问题的根源出在哪?该怎么解决?恳请指导!谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。