找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1183|回复: 7
收起左侧

关于RS485通信发送数据断行问题

[复制链接]
ID:74687 发表于 2023-6-18 16:07 | 显示全部楼层 |阅读模式
采用http://www.51hei.com/bbs/dpj-23230-1.html这篇文章的方法,可以实现RS485的通信,但是有个问题,作为485的下位机,发送的数据经常会碰到一次发送的数据分两两行发送。开始我以为是定时器中断的引起的,但我在发送数据的时候关掉定时器中断,也没能解决这个问题。
1687075582152.png

这是通过串口走485线路时发生的问题,如果还是使用这个程序,切换到串口和上位机进行通信,发送数据就不会出现断行现象。
回复

使用道具 举报

ID:384109 发表于 2023-6-18 22:02 | 显示全部楼层
有没有考虑过这个现象是串口助手软件的问题呢
回复

使用道具 举报

ID:883242 发表于 2023-6-19 06:43 | 显示全部楼层
你的串口软件有问题。MODBUS/RTU是3.5字节空闲时间表示一个帧的结束,你的串口软件可能小于这个时间。
回复

使用道具 举报

ID:123289 发表于 2023-6-19 08:04 | 显示全部楼层
两种方式所产生的结果不同,查查两者的协议,有何区别。
回复

使用道具 举报

ID:420836 发表于 2023-6-19 09:03 | 显示全部楼层
Modbus 发送请求的确切字节。 所以它不应该把数据分成两部分。
回复

使用道具 举报

ID:1045628 发表于 2023-6-19 14:34 | 显示全部楼层
一般是你这个测试助手问题,串口收发数据并没有“行”的概念,应该是助手认为接收结束了,但实际并没有结束
回复

使用道具 举报

ID:74687 发表于 2023-6-20 14:58 | 显示全部楼层
人中狼 发表于 2023-6-18 22:02
有没有考虑过这个现象是串口助手软件的问题呢

不一定是串口助手的问题,我通过串口发送数据时,上位机接收的工具也是串口助手软件,但是并没发生上面的状况。
回复

使用道具 举报

ID:596109 发表于 2023-6-20 15:25 | 显示全部楼层
我用qt开发上位机的时候就遇到这个问题,长数据接收经常会被分成两个包接收到,我后来是在上位机加了数据包长度检测,只能说治标不治本,也能凑合用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表