搜索
bottom↓
楼主: deny

485通信末尾总是收到一个00字节

[复制链接]

出0入0汤圆

发表于 2013-5-9 11:25:19 | 显示全部楼层 |阅读模式
RT 485能够正常的通信,就是有点小问题:
刚开始的时候,设备是在接收使能状态,当主机发送命令,从机接收到后,就将从485芯片设置成发送使能(从机到主机),返回设备的状态数据。 问题就是:主机发送一帧数据过去,丛机末尾总是收到一个00。格式如下:
主机发送:55 01 00 03 01 00 E8 50 99 //55 和99是帧头和帧尾
从机接收到的帧数据:55 01 00 03 01 00 E8 50 99 00  //末尾的00多余了 没有00才是正确的
PS:我在改变485芯片的发送接收使能后,做了100MS延时 问题仍然存在。还有就是现在基本确定是因为收发切换产生的00,不明白为什么收发切换会这样,请大家帮我分析是什么问题呢?

出0入30汤圆

发表于 2013-5-9 11:32:59 | 显示全部楼层
是不是插了仿真器?我的板子插上仿真器485数据最后也会多一个00,拔掉就没了。不知道到底是什么原因。

出0入0汤圆

 楼主| 发表于 2013-5-9 11:40:56 | 显示全部楼层
lovelywwei 发表于 2013-5-9 11:32
是不是插了仿真器?我的板子插上仿真器485数据最后也会多一个00,拔掉就没了。不知道到底是什么原因。 ...

什么意思?我是先用jlink下载程序到主机上,然后拔掉jlink用来仿真从机,在从机上就发现多收了一个00了(主机每隔一秒就发送一帧数据)

出0入0汤圆

发表于 2013-5-9 12:59:00 | 显示全部楼层
不发送数据,收发切换10次能产生多少个0x00
485的格式可不可以修改成1.5个停止位的模式

出0入0汤圆

 楼主| 发表于 2013-5-9 18:06:54 | 显示全部楼层
终于找到原因了,结贴,谢谢大家帮忙

出0入0汤圆

发表于 2013-5-9 18:16:11 | 显示全部楼层
deny 发表于 2013-5-9 18:06
终于找到原因了,结贴,谢谢大家帮忙

说说原因啊

出0入0汤圆

发表于 2013-5-9 18:31:04 | 显示全部楼层
deny 发表于 2013-5-9 18:06
终于找到原因了,结贴,谢谢大家帮忙

看半天就是要看原因的啊

出0入0汤圆

发表于 2013-5-9 18:58:17 | 显示全部楼层
楼主应该把原因说出来

出0入0汤圆

发表于 2013-5-9 20:03:38 | 显示全部楼层
这样的人不值得帮助,有问题的时候让别人帮忙,找到答案后就闪人

出0入0汤圆

发表于 2013-5-9 20:11:27 | 显示全部楼层
aureole 发表于 2013-5-9 18:16
说说原因啊

我也在说485可是出现了能发送不能接收的问题,请问你的接收是怎么解决的呢?

出0入0汤圆

发表于 2013-5-9 20:22:03 | 显示全部楼层
估计是A,B线上下拉弄反了。

出0入85汤圆

发表于 2013-5-9 20:45:11 | 显示全部楼层
唉,什么人噢,希望出来澄清

出0入0汤圆

 楼主| 发表于 2013-5-9 21:09:10 | 显示全部楼层
aureole 发表于 2013-5-9 18:16
说说原因啊

可能是线的原因吧,我换了一条线就可以了,至少到目前都没出现问题

出0入0汤圆

 楼主| 发表于 2013-5-9 21:10:01 | 显示全部楼层
dagong184 发表于 2013-5-9 20:11
我也在说485可是出现了能发送不能接收的问题,请问你的接收是怎么解决的呢? ...

我换了一条线就可以了,不知道是不是因为线的原因

出0入0汤圆

 楼主| 发表于 2013-5-9 21:10:56 | 显示全部楼层
我是换了一条线就没出现00了,可能是因为线的原因吧,我也不好下定论

出0入0汤圆

发表于 2013-5-9 21:17:30 | 显示全部楼层
cyr_hongfeng 发表于 2013-5-9 20:03
这样的人不值得帮助,有问题的时候让别人帮忙,找到答案后就闪人

这种人真是的。

出0入0汤圆

发表于 2013-5-9 21:22:05 | 显示全部楼层
我以前也遇到过这种问题

最后,可能的原因收发芯片的原因,换模块好像好了

出0入0汤圆

发表于 2013-9-6 17:36:50 | 显示全部楼层
lovelywwei 发表于 2013-5-9 11:32
是不是插了仿真器?我的板子插上仿真器485数据最后也会多一个00,拔掉就没了。不知道到底是什么原因。 ...

我调试485的时候也是多接收到一个字节 0x00
单片机发送数据给上位机的时候,最后总多一个字节“0x00”
上位机发送给单片机的时候,上位机同时也接收到一个字节“0x00”

刚刚看到你的回贴,我拔掉Jlink,就一切正常了。不知道什么原因。
单片机发送数据给上位机的时候,多出来的“0x00”是在发送完毕数据之后,切换成接收模式的时候,把则个0x00发送给上位机了。但是拔掉Jlink就正确了。说明是Jlink的祸。

出0入0汤圆

发表于 2013-9-6 17:37:59 | 显示全部楼层
aureole 发表于 2013-5-9 18:16
说说原因啊

我调试485的时候也是多接收到一个字节 0x00
单片机发送数据给上位机的时候,最后总多一个字节“0x00”
上位机发送给单片机的时候,上位机同时也接收到一个字节“0x00”

我拔掉Jlink,就一切正常了。不知道什么原因。
单片机发送数据给上位机的时候,多出来的“0x00”是在发送完毕数据之后,切换成接收模式的时候,把则个0x00发送给上位机了。但是拔掉Jlink就正确了。说明是Jlink的祸。

出0入0汤圆

发表于 2013-9-8 12:03:20 | 显示全部楼层
我也碰到过这种情况,直接用两根相同的usb转485线对接,互相发送接收数据,出现多个0x00的情况,断定是线的问题,换了转接线问题没出现。

出0入0汤圆

发表于 2013-9-13 09:38:02 | 显示全部楼层
解决的办法,485在发送的时候将串口接收关闭,发送完后再将串口打开

出0入0汤圆

发表于 2013-9-13 10:09:54 | 显示全部楼层
其实 早在5年之前,我记得用51单片机做485 modbus,就曾经出现过这样的问题。记得当时也是由于线的问题。是线接触不好,导致偶尔接地,就会出现发送00的误码,后来加704胶固定以后,就解决了。其实不用子站发送,AB线接触,偶尔也会自动发送代码。事情就是这样的。

出0入0汤圆

发表于 2014-10-8 14:00:36 | 显示全部楼层
顶一下,虽然问题不完全相同,但是也学到了些东西

出0入0汤圆

发表于 2014-10-8 14:17:47 | 显示全部楼层
可能是收发转换时产生的

出0入0汤圆

发表于 2018-6-22 16:44:28 | 显示全部楼层
AB线的电阻太小就会多了00.建议不要用120R

出0入0汤圆

发表于 2018-6-22 20:53:01 | 显示全部楼层
用13487自动切换型,没发现有这个问题。

出0入0汤圆

发表于 2018-6-22 21:10:55 来自手机 | 显示全部楼层
上电路图吧,很多都是上下拉电阻没有影响的

出0入0汤圆

发表于 2018-6-22 23:41:17 | 显示全部楼层
有的485芯片收发切换需要加点延时,时序还有点要求
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-19 00:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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