从你的需求来看,则其实还是需要2根线,一个GND 一个RX/TX 公用线。
如果仅仅是从线数量来看,则2根线的485,其传输距离、性能都远远好过你这个GND+RX/TX的2线模式。
从成本角度,而且设备距离不是太远,抗干扰要求不高,则这么用完全是可以的,硬件实施在收发一条线的时候,可以是单片机的收发线直接相连,其中最大的关键是,TX线输出必须是开漏,通过上拉来输出信号,至于收发怎么处理,在中断模式下,在自己发送时候,通过标记,直接忽视接受中断,不处理就可以了。
协议上,可以参考MODBUS协议,首先只能是一个主机,其余全部从机,而且只能是主机主动发起会话,从机才能在约定期间和主机进行应答,这样就可以有效避免总线竞争,考虑到协议编制简洁,在指令、数据不是非常复杂情况下,可以优先考虑定长串格式,方便接受函数归一化处理。
定长串格式必须包含有包头、地址、命令码、数据串、校验。由于定长,可以省去结束码,当然非定长则必须包含包头、地址、命令、数据长度、数据、校验、结束码。
为了提高通信的鲁棒性,则在协议的字符间隔等都有明确的定义,建立时间监控快速溢出重新同步,校验建议用CRC |