我正在用这个抨击我的头。阅读串行数据
我正在为测试血液的机器编写一个串行应用程序。它以线路形式发送信息,以\r\n
结尾。
问题是,我每隔一段时间运行机器,都会漏掉一些线条,或者它会复制它们。我停下来重新启动,然后数据正常。
林使用DataReceived事件检索:
try
{
this.the = thePort.ReadLine();
}
catch (TimeoutException ex) {}
我,为什么有时候它错过这将是S1说通信已经开始的第一行完全糊涂了,并在同一时间将复制这之后的数据。
我可以通过将每行读取附加到文本框来看到这一点。
您是否正确处理完每次使用后的端口? – 2013-05-10 15:02:58
串行数据发送后,您不能保证在一次读取中拥有整个数据,您必须连续读取数据。有数百个如果不是数千个正确读取串行数据的例子。每次收到数据时,应该将所有字节放在一起而不是替换数据。 – 2013-05-10 15:28:01