找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2228|回复: 7
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
采用http://www.51hei.com/bbs/dpj-23230-1.html这篇文章的方法,可以实现RS485的通信,但是有个问题,作为485的下位机,发送的数据经常会碰到一次发送的数据分两两行发送。开始我以为是定时器中断的引起的,但我在发送数据的时候关掉定时器中断,也没能解决这个问题。


这是通过串口走485线路时发生的问题,如果还是使用这个程序,切换到串口和上位机进行通信,发送数据就不会出现断行现象。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 | 只看该作者
两种方式所产生的结果不同,查查两者的协议,有何区别。
回复

使用道具 举报

5#
ID:420836 发表于 2023-6-19 09:03 | 只看该作者
Modbus 发送请求的确切字节。 所以它不应该把数据分成两部分。
回复

使用道具 举报

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

使用道具 举报

7#
ID:74687 发表于 2023-6-20 14:58 | 只看该作者
人中狼 发表于 2023-6-18 22:02
有没有考虑过这个现象是串口助手软件的问题呢

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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