最近、SerialPort クラスを頻繁に使用しています。現在、アプリケーションが使用する通信ポートにデバイスが接続されているかどうかを確認する適切な方法を見つけようとしています。デバイスが通信ポートに接続されているかどうかを確認する適切な方法はありますか? 私の現在の方法は次のとおりです。
while (isReading == true)
{
try
{
received += serialPort.ReadExisting();
if (received.Contains('>'))
isReading = false;
}
catch (Exception e)
{
}
if (tick == 10000)
if (received == "")
{
Console.WriteLine("No Data Received. Device isn't connected.");
isReading = false;
}
tick++;
}
Console.WriteLine(received);
動作しますが、少しハックで信頼性が低いと感じています。必要に応じて保管できますが、これに代わる適切な方法があれば、保管したいと思います。
編集:信頼性を確保するために、実際にはティック値を約10,000に設定する必要があります。そうしないと、時々データを受信できません。1000 や 5000 に設定しても信頼できません。それでも、複数のマシンで信頼できるとは限りません。