これまでのところ、私は答えを見つけることができませんでしたが、特にC#を使用して、シリアルポートをテストするだけで、シリアルポートが可能な最高のボーレートを検出する方法があるかどうかを知りたいと思いました.
C# がクエリできるハードウェア プロファイルや、特定のポートで使用可能なボーレートを格納するものはありますか?
これまでのところ、私は答えを見つけることができませんでしたが、特にC#を使用して、シリアルポートをテストするだけで、シリアルポートが可能な最高のボーレートを検出する方法があるかどうかを知りたいと思いました.
C# がクエリできるハードウェア プロファイルや、特定のポートで使用可能なボーレートを格納するものはありますか?
リフレクションを使用すると、次のように実行できます/実行する必要があります。
serialPort = new SerialPort(portName);
serialPort.Open();
object p = serialPort.BaseStream.GetType().GetField("commProp", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(serialPort.BaseStream);
Int32 bv = (Int32)p.GetType().GetField("dwSettableBaud", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public).GetValue(p);
注: ポートは、設定可能なボーレートを確認するために開かれます! :)
ボーレートを確認する方法の詳細については、この投稿を参照してください: C# で使用可能なすべてのボーレートをプログラムで見つける方法 (serialPort クラス)