我有一个C#应用程序,它使用串行端口与嵌入式设备通信。在下面的循环中,它会读取整个消息,然后在它进入时基本上解析它。这不是我的代码,但我正在围绕它开发一些东西。
发生的事情是,在几秒钟和一些消息后,我在port.Read(RxHolder, 0, 1);
上收到错误,说InvalidOperationException,端口已关闭。该对象存在,并且无处调用port.close()
。
我在Windows 7 64位计算机上运行Visual C#2010 express,如果这会添加任何重要信息。
if (port.IsOpen)
{
while (port.BytesToRead > 0)
{
// Read one byte
port.Read(RxHolder, 0, 1);
// Process it
ProcessRxedByte(RxHolder[0]);
}
}