同步与uart连接的两台计算机

时间:2014-09-14 19:55:10

标签: serial-port deadlock uart

我有两台不同的PC,它们使用UART 16650串行连接并运行不同的程序 情况是:

计算机a向b发送数据 计算机b从a接收 计算机b处理数据然后响应a 计算机a从b接收 然后,过程数据响应b B收到......

等等。

问题是,a处理过快而b太慢,导致出现类似死锁的情况,即。在某些情况下,两个pc都会等待另一个发送数据

我需要帮助我如何同步PC,以便当另一台PC仍在阅读时,PC无法开始读取数据

1 个答案:

答案 0 :(得分:0)

解决此问题的最简单方法是将一台机器指定为主机,将另一台机器指定为从机。

主设备:从从设备请求/轮询数据,向从设备发送数据,要求其处理

从设备:接收数据,处理并在轮询时将响应发送回主设备

从主服务器向从服务器添加命令/查询也很有用。通过这种方式,您可以检查从站是否有适合您的数据,并避免在没有数据时等待。

您认为死锁是机器速度之间差异的结果,但没有提供可证明这一点的信息。通常,串行通信协议应该能够从这些情况中恢复。