导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助] 关于485通讯的问题[guest]

 *第12504篇: [求助] 关于485通讯的问题

  
楼 主:guest 2003年5月23日12:42
 [求助] 关于485通讯的问题
各位高手!
我在做485通讯的实验,有点问题请教!
(1)在两个AT89C51通讯的时候,一个收,一个发.如果收的一方先启动,再发送就没什么问题.但如果发的一方先启动,然后在启动收的一方,就什么也收不到,而且此后的一段时间里无论先启动谁都收不到数.去电后过一会有好使了,但还是想上面说得现象.请问是怎么回事??难道接受端不准备好就不能发送吗??如果先发后接,先发的一些数据吗??
(2)在PC机与AT89C51通讯时候,PC机发送一些数后,停止发送.可是总线上还有数据,此时AT89C51接收到的都是0FFh,请问是怎么回事??有时候两边都不发,总线也有数??
  
2楼:guest 2003年5月23日14:55
 485总线有正负之分
485总线有正负之分, 与pc机通讯最好有共地线,否则。。。。 
  
3楼:红心J 2003年5月23日19:22
 配配电阻
配配电阻
  
4楼:a12345678 2003年5月23日22:29
 RE:
(1)串行通讯必须收的一方先准备好,发方才能发送,否则会丢失信息而使该帧不全被判无效.RS485规定,所有不发送的全部作为接收方.
     可能你不熟悉串行通讯,建议先看看这方面的书.
(2)你的通讯协议设计有问题
  
5楼:tm1300 2003年5月24日13:17
 参考
1) 485芯片是单工形式,即要么发送状态,要么接收状态,不能处于发送和接收(双工)模式。所以,通信过程中必须使用两个485芯片,这是其一;其二,作为通信双方,必须使相应的485芯片处于相应的状态(收发状态),然后进行通信;这样才能保证通信可能成功。如果没有准备好,那么,可能有效起始位不同,导致接收的整帧数据偏移而出错。

2) PC机与AT89C51通讯时,你有没有使用电平转换器?232-->  TTL;如果是还是通过485与AT89C51通讯,那么必须是232-->  TTL-->  485-->  TTL模式。
至于“停止发送.可是总线上还有数据”,那可能是误码造成的。接收电路需要抗干扰。
“0FFh”这是由于来了一个低脉冲干扰信号,导致CPU误认为来了起始位“0”,接着接收了一帧数据。

  
6楼:yxyfish 2003年5月26日13:40
 发最好有时间间隔
  
7楼:yxyfish 2003年5月26日13:38
 485是半双工,总线只能有一个为发状态,所以平时所有的节点只能为受状态
  
8楼:guest 2003年5月26日23:18
 1. 你使用的是485半双工模式还是42
1. 你使用的是485半双工模式还是422全双工模式。在半耍工模式下,要保证系统上电时通讯芯片处在接受状态。否则,都在发送状态总线会锁死。也无法退出这个状态,直到系统从新上电。所以系统设计时,要保证上电后使485通讯ic处于接受状态。在通讯完毕,也要及时退出发送状态。
2. 主要是你的抗干扰不好,此类电路网上很多,可以查找参考。

>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:老古:怎样用sniffer pro看局域网内的所有的数据(不是发给自己机器的数据)

[下一篇主题]:哪里可以下载cadence