我正在使用串行端口从连接到瘦客户端的秤上读取数据。在 99% 的情况下,数据被正确读取 - 即,秤上的任何内容都是应用程序捕获的内容。但是,有时,看起来数据被丢弃了。例如,它将被读取为 0.007,而不是 90.007。我正在使用 ReadLine 函数:
private void CaptureWeight()
{
globalCounter++;
string value = "";
_sp.DiscardInBuffer();
while (!this._processingDone)
{
try
{
value = this._sp.ReadLine();
if (value != "")
{
if (value == "ES")
{
_sp.DiscardInBuffer();
value = "";
}
else
{
this.Invoke(this.OnDataAcquiredEvent, new object[] { value });
}
}
}
catch (TimeoutException)
{
//catch it but do nothing
}
catch
{
//reset the port here?
MessageBox.Show("some other than timeout exception thrown while reading serial port");
}
}
} //end of CaptureWeight()