CORTEX-A开发板和STM32进行串口通信出现乱码?
问题描述:
波特率等配置都是一样的,但是CORTEX-A开发板和STM32进行串口通信就出现乱码了。
是硬件问题?还是软件配置问题?求高手解惑
答
这个问题基本没人和回答你,就像你问一个人,你说我病了,该吃什么药,该打什么针,医生是没法治的。你要把你现在的测试方式,问题点都描述很清楚了
别人才能诊断,软件和硬件都有可能出现问题,你要一个个去排查,这里只能提供基本的参考思路:
先单独调试试CORTEX-A开发板串口先用示波器测试串口的TX,如果没有波形出来,找软件的问题,直到能看到波形,看到有波形了,检查波形电压是否正常,波形是否变形如果不正常就找硬件的问题,直到波形正常
这样发送应该没问题了,这时将CORTEX-A开发板串口的TX和RX接到一起,测试收发是否一致,不一致或者收不到数据先查硬件问题,看下CORTEX-A开发板串的RX口的波形是否有,是否正确确保正确还是收不到数据,查开发板串口的软件,直到自发自收OK
同理调试STM32的串口,自发自收OK,等两边自发自收都OK了,基本就没问题了,如果这时还是不通,那就要看下两边的电压是否匹配,还有
两边的波特率,起始位,数据位,校验位,停止位是否一致,两边的数据宽度,校验类型是否一致,如果都一致了,电压也匹配了,是不会出现乱码的
还有如果波特率很高的话,可以先把波特率调低下测试,双方之间的线太长了可以先把线剪短点在测试
答
谢谢u014799914 前辈的指点,问题已解决是配置的问题。
我的CORTEX-A用的是Linux下的termios.h中的函数进行编写串口程序,
是创建新结构体没有清空导致配置出错。