参考
1) 485芯片是单工形式,即要么发送状态,要么接收状态,不能处于发送和接收(双工)模式。所以,通信过程中必须使用两个485芯片,这是其一;其二,作为通信双方,必须使相应的485芯片处于相应的状态(收发状态),然后进行通信;这样才能保证通信可能成功。如果没有准备好,那么,可能有效起始位不同,导致接收的整帧数据偏移而出错。
2) PC机与AT89C51通讯时,你有没有使用电平转换器?232--> TTL;如果是还是通过485与AT89C51通讯,那么必须是232--> TTL--> 485--> TTL模式。
至于“停止发送.可是总线上还有数据”,那可能是误码造成的。接收电路需要抗干扰。
“0FFh”这是由于来了一个低脉冲干扰信号,导致CPU误认为来了起始位“0”,接着接收了一帧数据。
发表时间:2003年5月24日13:17:58