1

これまでのところ、私は答えを見つけることができませんでしたが、特にC#を使用して、シリアルポートをテストするだけで、シリアルポートが可能な最高のボーレートを検出する方法があるかどうかを知りたいと思いました.

C# がクエリできるハードウェア プロファイルや、特定のポートで使用可能なボーレートを格納するものはありますか?

4

1 に答える 1

2

リフレクションを使用すると、次のように実行できます/実行する必要があります。

   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 クラス)

于 2012-06-08T02:38:57.077 に答える