打印

关于485通信

[复制链接]
1009|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gxgclg|  楼主 | 2013-9-21 18:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当前在做的项目中,遇到了485通信问题,大概的描述如下,请教高手分析一下,谢谢!
设备A、B、C,其中A为主机设备,B为有485口的空调设备,C为从机设备。
A、B、C共用一条485总线,正常时B、C处于被动接收状态。
A、C设备均为嵌入式linux系统,基于ARM AT91cpu的。
B、C设备地址不同,分别为0X02、0X0A。
A发送数据是轮询方式。

A与B可正常通信,即收发正常。但A发送给B命令时,C收到的数据为乱码,B回复给A的数据C能正确接收到。
A发送给C的数据,C收到的为乱码。在C端利用485转232工具通过PC可截取到A发送的数据且内容正确。
A和C的收发程序中均用到了485收发方向切换,即控制GPIO的引脚来使能485收发切换。

现在的问题是:为什么A发送给C的数据,C接收到的是乱码,但PC端截取的正确?
可能的原因:
1,A发送数据后到切换为接收状态之间的延时时间不够吗?
2,C接收数据时,有来自B的干扰?比如B收到A发送给C的数据后,也进行了回复,按理不应该回复的(地址头不同啊)?
3,C的读取程序处理有问题?如果有问题,但为什么C又能正确接收到B回复给A的数据呢

注:C设备上,采用类似的485收发函数,可与其另一485口上连接的LCD屏进行正常通信。

相关帖子

沙发
火箭球迷| | 2013-9-21 18:49 | 只看该作者
遇到过类似的情况,因为PC对停止位处理比较完善,所以不会出现乱码。

使用特权

评论回复
板凳
xsgy123| | 2013-9-21 18:59 | 只看该作者
C 机的端口配置是否正确? 波特率是否对? 可以连续发0xAA 或 0x55这样的数据示波器测量下

使用特权

评论回复
地板
无冕之王| | 2013-9-21 19:08 | 只看该作者
/C 发送端并联了,分析是否带来影响?断开B,单独测试A/C就知道了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1653

帖子

1

粉丝