【问题标题】:Connect two serial port into one serial port将两个串口连接成一个串口
【发布时间】:2016-10-26 09:20:23
【问题描述】:
我想把两个串口连接成一个串口。假设有A、B、C三个系统。
A、B 和 C 使用串行通信(RS232 端口)相互连接,如星形连接。
所以,情况就是这样。
当系统 C 向系统 A 和系统 B 发送数据时,它将同时发送到两个系统。但是当系统A或系统B发送数据时,系统C没有收到。
所以我想知道如何通过串口设备与其他串口设备(多设备)进行通信。
【问题讨论】:
标签:
serial-port
serial-communication
【解决方案1】:
这根本行不通。您必须将两条 TX 线连接到一条 RX 线,但 RS-232(与以太网不同)不是共享介质协议,无法检测 TX 冲突(当两个设备尝试同时通话时)。
您需要在中间实现一个设备,将它收到的内容转发给其他设备。即使这样,它也必须知道其他设备正在使用的协议以防止消息中断(例如,仅在换行符处停止)。
【解决方案3】:
您可以将它们连接成一个环:Atx->Brx,Btx->Crx, Crtx->Arx 然后每个设备都必须转发消息而不是为它。这不需要任何狡猾的 diody/resistory hokum pokum。
这种方法的一大好处是它不会对节点不同时进行通信设置任何限制:-)
【解决方案4】:
在此配置中它无法工作,因为串行通信 (RS232) 可以提供两个设备之间的通信,而不是更多!
TX| -> |RX
device1 | - | device2
RX| <- |TX
要解决此问题,您必须使用其他协议,如 RS485 或其他。