两单片机485通讯,其中一个发生故障,怎么办
两单片机485通讯,如其中一个不能正确传送数据,另一个如何对接受的乱码不处理 呵呵,那就是你软件的问题了,你不让它处理它就不会处理了 问题是你不知道对方出了问题呀,对接受的错误信息还当是正确的处理 发送方将所要发送的数据,逐个相异或 最后将异或的结果当成最后一个数据发送,接收方将所接收数据相异或———如果接受方异或的结果为0 表示接收正确,否则错误!我平时都是这样做的另外:两个485 最好都要有一个120欧姆的电阻,以防止信号的反弹造成 错误!
不知道,这个是不是你的答案 谢谢了,听说有CRC较验,不知是怎么搞的? 一般的话,校验和就够了吧。 你的协议订好了就不会出现你说的现象了,对于接收的字符,如果不按协议走,就认为是错误,不要理会它就行了。 {:titter:}做成 三次握手 不是更好吗? RS485最好走一个标准的协议,或者简化一些,自定义都行。 本帖最后由 em78447 于 2012-9-8 09:33 编辑
11楼说的对,呵呵,比如先定个协议,收到0x55,0x80,XOR你就发送一个0xaa,0x80,XOR。这样确定硬件是否有问题。
如果硬件问题,是不是电压不稳定、传输线问题、485处理芯片MAXxxx的问题、外围电容的问题、晶振的问题,还是高速光耦的问题。欢迎交流。 要有一个固定的协议呀,要有协议头,数据长度,校验,这三个是必须的,有必要还可以要个协议尾.. 加编码、校验 包头、报文、CRC校验;+超时型通信协议。 MODBUS不是现成的吗,也可以参照自己顶一个协议。 不会连简单的协议都没有吧,不符合协议的就丢掉不就完了吗 jsjr 发表于 2006-5-15 20:40 static/image/common/back.gif
问题是你不知道对方出了问题呀,对接受的错误信息还当是正确的处理
加CRC校验吗就行了? CRC网上应该有很多,选择一款适合你的!
页:
[1]