1.查看接收机和发送方的波特率是否一致
2.修改一下上位机的编码格式试试。
接收乱码
最大可能是波特率不一致导致的
楼主试一下所有波特率
串口通信有几个关键的控制点:
0. 数据线连接,这个肯定要结对,注意是本机的st接对方机的rt,本机的rt接对方的st才是正确的。
1. 波特率,这个必须要匹配,如果不一样,数据位的解读就是乱的,当然不可能正常通讯
2. 编码格式,带不带校验位这些也关系到是否能正确解读数据
3. 数据线防干扰,如果附件有大的干扰源,最好还是做一下处理。
如果一直是乱码,首先就要检查软件,看波特率,停止位,校验位那些配置是否正确
如果软件没问题,那有可能是硬件上面线太长或者有干扰
1、首先检查是否匹配:波特率、数据位、停止位、奇偶校验等等
2、其次检查线缆:线缆长度是否过长,引入串扰,阻抗是否匹配,信号畸变是否在可控范围内
3、地电位:因为串口调试一般只需要三线RX、TX、GND,地电位也非常重要,务必使你调试用的电脑地和你要调试的电路地电位基本一致(最好共地)。
4、电平:如果你使用的TTL串口,那么还需要考虑是不是5V和3.3V的差异导致上述情况。