RS422通信时有数串进来

[复制链接]
3187|16
 楼主| chenczy 发表于 2010-8-2 15:57 | 显示全部楼层 |阅读模式
我用一台机通信时没这个问题,多接几台(4台以上)就会出现这个问题,只是在单片机发送那个芯片出现,大家知道是怎么回事吗?
mohanwei 发表于 2010-8-2 16:10 | 显示全部楼层
看一下程序吧,估计是从机地址没处理好……
g1234567 发表于 2010-8-2 16:14 | 显示全部楼层
情况不明,不好判断。
必须要注意的是:多机连接时,当单片机不发送时,一定要使该机的发送的485/422芯片切换为高阻输出。否则一切皆有可能发生。
 楼主| chenczy 发表于 2010-8-2 16:22 | 显示全部楼层
本帖最后由 chenczy 于 2010-8-2 16:25 编辑

我说的并一是每一台都有数串进,只不过是其中的几台分机(固定那几台)有数串进,有时是一台有时是二台,通信芯片换过一次还不行,会不会是硬件设计有误,请问,如是硬件错误那该怎么改?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
chunyang 发表于 2010-8-2 17:11 | 显示全部楼层
485总线上的数据本来就是会出现在除发送方外的所有结点上,也应该如此,然后靠协议来决定是否需要回应及由谁回应。
 楼主| chenczy 发表于 2010-8-2 17:19 | 显示全部楼层
回5楼:这个我知道,现在的问题是,我其中一台机在回应主机的过程序中有数串进去,即主机收到的数会比从机发出的数长或数字改变,例如,从机发的是A23456D,主机有可能收到A2-128456D这样的数
g1234567 发表于 2010-8-2 17:26 | 显示全部楼层
用示波器看一下接收和发送的波形。
chunyang 发表于 2010-8-2 17:31 | 显示全部楼层
6楼所言是程序有错所致,检查该从机的程序。
 楼主| chenczy 发表于 2010-8-2 17:41 | 显示全部楼层
回8楼:我每台从机的程序是一样,但出错的只有一台,我想这不应该是程序的问题吧?
chunyang 发表于 2010-8-2 17:46 | 显示全部楼层
要检查通讯内容的创建部份,其它的没问题只能说明触发条件不具备。你这里的通讯波特率应该是恒定的,如果有外部数据或干扰等造成的将是误码而非你所说的情况。
 楼主| chenczy 发表于 2010-8-2 17:56 | 显示全部楼层
我想这也应该算是误码的一种吧,就如6楼所说,从机发的是A23456D,主机收到的是A2-128456D,即本来送的数是3,但变成了随机数-128,个人猜想是硬件没做好所致,由于现在条件所限,只能在理论上推测,明天将会在硬件上做调试,4楼发了一个电路图,大家帮看看是不是接法有错
chunyang 发表于 2010-8-2 18:27 | 显示全部楼层
晕!你的表达实在是浪费俺的表情,你说“有数串进来”,又给个例子说明“串”,正常理解就是7个数据变10个了,到了11楼才说是3变成了-128,如果这样当然是误码而不是“串”,但误码也没有变负数一说,到底如何,先正确的描述。建议楼主先去看看本栏目中有关如何提问的那个帖子。
mohanwei 发表于 2010-8-2 18:35 | 显示全部楼层
那个上拉下拉电阻最好不要接,485驱动器本身的负载就不算小了,不存在悬空易受干扰的问题;如果不放心,接10K以上的就可以了
zjswuyunbo 发表于 2010-8-2 21:53 | 显示全部楼层
误码?
让人理解错了
zjswuyunbo 发表于 2010-8-2 21:54 | 显示全部楼层
上拉,下拉电阻是330吗?
会不会太小?
改大一些看看?
李冬发 发表于 2010-8-3 02:14 | 显示全部楼层
LZ这个语文得回炉。
就LZ的提问是人都看不懂。
 楼主| chenczy 发表于 2010-8-3 12:28 | 显示全部楼层
谢谢mohanwei,问题已经解决,把330换成10K就可以了,用330的话只能接7台分机,接多了就会有乱码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

141

主题

791

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部