RS485是一种串口总线通信标准,与RS232通信相比,它的通信距离更远,但是需要串联一个电阻(120Ω),从而保证信号传输的稳定性,具体可以参照相关文档。
连接图可以参照如下:
由于RS485总线的数据是广播数据,那么如何才能保证设备1,2,3收到属于自己的那部分数据呢?其实思路很简单,就是通过协议payload进行保证:在Payload中表明设备的ID,以及数据内容。那么设备1,2,3将会收到同样的数据,那么他们将分别对数据进行解析,然后发现某个数据内容的设备ID是自己的,那么就进行处理,否则就可以丢弃了。
对于编程的时候,只需要将RS485当做普通的串口通信就可以了
1)打开串口,设置好波特率,数据位,校验位
2)按照定义好的协议格式组装数据(byte[] data)
3)调用通信接口,send(data)便可
4)设备1,2,3接收数据,解析数据,如果数据的设备ID是自己的,那么进行处理,否则继续寻找。