求大佬们分析下是软件问题还是硬件问题
串口转485,收发一个字节正常,多个字节出现乱码,下图外接了一个485模块
发送123收到回复的数据是乱码
使用逻辑分析仪查看发送的数据也是错误的
注释掉105行的代码,再次使用逻辑分析仪查看发送的数据是正确的
接一个串口转usb,收发都正常
求大佬们分析下是软件问题还是硬件问题
串口转485,收发一个字节正常,多个字节出现乱码,下图外接了一个485模块
发送123收到回复的数据是乱码
使用逻辑分析仪查看发送的数据也是错误的
注释掉105行的代码,再次使用逻辑分析仪查看发送的数据是正确的
接一个串口转usb,收发都正常
您好,你可以把中断函数按照我下面配置试一下
明天试试
485是半双工,正在接收数据的时候就不应该发送数据,应该等待接收全部数据再发送
不行,中断函数里的代码已经改过了,问题依然存在。
您好,
我觉得可以从以下几个方面查找问题,
测试程序可以使用例程,串口收发例程进行测试,使用时要注意485芯片RE与DE的正确控制;
从照片中看,串口信号有过芯片,也看到您使用串转U进行了测试,建议用示波器再看下信号情况,或者可以直接将485与芯片本身进行连接,测试收发是否正常;
从逻辑分析仪的截图看,485仅有一半的信号,可以使用示波器两个探头,同时挂接在485的A、B端,直接观察信号是否正确输出,一是排除逻辑分析仪电平配置错误,二是排除转换芯片本身损坏问题;
接收端与发射端的连接是否正确,连接是否稳定,接收端工作是否正常。
这个很简单,你用逻辑分析仪分别测uart8的tx和rx引脚,如果同时有波形就肯定数据是错的,要处理到不同时收发就可以了,你屏蔽发送后,接收正常这已经说明你的发送已经影响到接收了
485是自动收发,下图是逻辑分析仪接在RX和TX获取的到波形。
您好,附件为串口转485收发例程,测试都是没有问题的,你可以参考一下。注意程序中涉及到485芯片RE、DE引脚的控制,当发送时,设置RE、DE引脚高电平,接收时,设置RE、DE引脚低电平。后续若有问题,可通过邮箱具体沟通一下(lzs@wch.cn)。