我有一个使用串行端口与嵌入式设备通信的 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]);
}
}