1

シリアルポートを使用して組み込みデバイスと通信するC#アプリがあります。以下のループでは、メッセージ全体を読み取り、受信時に基本的にメッセージを解析します。これは私のコードではありませんが、その周りで何かを開発しています。

何が起こっているのかというと、数秒後、port.Read(RxHolder, 0, 1);InvalidOperationExceptionと言ってエラーが発生し、ポートが閉じられます。オブジェクトは存在し、どこにport.close()も呼び出されていません。

重要な情報が追加された場合は、Windows 7 64ビットマシンでVisualC#2010Expressを実行しています。

if (port.IsOpen)
{
    while (port.BytesToRead > 0)
    {
        // Read one byte
        port.Read(RxHolder, 0, 1);
        // Process it 
        ProcessRxedByte(RxHolder[0]);
    }

}
4

0 に答える 0