我的应用程序通过串行端口连接到特定硬件。我发送二进制数据命令,而每个命令包含特定的操作码。 我从硬件接收相同的Opcode或其他作为回报。 为此,我在线程中有一个命令队列,专门用于发送数据。另一个线程专门用于读取和处理所有传入的回复并将其放入另一个队列。
现在,假设我需要发送带有操作码1的命令,然后我想等待硬件用操作码1回复我(发送和接收之间可能有不同的数据),但这将是一个有点棘手的原因我的应用程序可能会收到一些其他消息,带有操作码2或3的命令等等,我需要正确处理它们而不等待操作码1的命令。如果我等待太长时间命令操作码1我需要被告知。
我在这里找了一些帖子,我不认为我可以停止搜索 看这个: c# wait for an echo on serial port, check it, and have a timout on the wait? Providing Asynchronous Serial Port Communication?
有人能给我一些建议吗? 谢谢!