什么时候应该丢弃SerialPort的输入和/或输出缓冲区?

时间:2015-10-08 19:25:09

标签: c# multithreading serial-port

我在C#应用程序中使用System.IO.Ports.SerialPort类时遇到了一些小问题。我目前已经在SerialPort类之上编写了一个线程安全类,并且在ReadWrite之间出现短时间问题。

例如,我可以Write一个命令,然后Read一个响应。此行为在lock语句中,一旦锁定释放,我可能会发生Write,然后是另一个Write Read。在我的第二个Read我有时会收到一个空的String

现在这只是为了概述我的问题,但试图提出一个可以回答的问题。我只是在寻找有关何时使用DiscardOutBufferDiscardInBuffer的信息? 基本上是否有关于何时使用这些功能的约定?此外,缓冲区是否会在基础SerialPort实施中自动丢弃?

我必须假设我的问题在于缓冲区。要么缓冲区太早丢弃,要么缓冲区没有及时清除。

0 个答案:

没有答案