我有两台不同的PC,它们使用UART 16650串行连接并运行不同的程序 情况是:
计算机a向b发送数据 计算机b从a接收 计算机b处理数据然后响应a 计算机a从b接收 然后,过程数据响应b B收到......
等等。
问题是,a处理过快而b太慢,导致出现类似死锁的情况,即。在某些情况下,两个pc都会等待另一个发送数据
我需要帮助我如何同步PC,以便当另一台PC仍在阅读时,PC无法开始读取数据
答案 0 :(得分:0)
解决此问题的最简单方法是将一台机器指定为主机,将另一台机器指定为从机。
主设备:从从设备请求/轮询数据,向从设备发送数据,要求其处理
从设备:接收数据,处理并在轮询时将响应发送回主设备
从主服务器向从服务器添加命令/查询也很有用。通过这种方式,您可以检查从站是否有适合您的数据,并避免在没有数据时等待。
您认为死锁是机器速度之间差异的结果,但没有提供可证明这一点的信息。通常,串行通信协议应该能够从这些情况中恢复。