最近、SerialPortクラスを使っています。現在、アプリケーションが使用する通信ポートにデバイスが接続されているかどうかを確認する適切な方法を見つけようとしています。デバイスが通信ポートに接続されているかどうかを確認する適切な方法はありますか?私の現在の方法は以下の通りです:C#シリアルポートデバイスが接続されているかどうかをチェック
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に設定することさえ信頼性がありません。それでも、複数のマシン間で信頼性が保証されているわけではありません。
を要約するためにあなたが同様にデバイスをプログラミングしていますか? – Rubixus
@Rubixus No. Fluke 5500Aマルチプロダクトキャリブレータと呼ばれる医療機器です。私はそれ自身で内部設定を変更するつもりはありません。 – DanteTheEgregore
接続時にデバイスがレジストリにドライバを登録しますか?それはUSBデバイスですか? – Kcvin