有没有办法检测串口的最快速度

本文关键字:速度 串口 检测 有没有 | 更新日期: 2023-09-27 18:36:28

到目前为止,我还没有找到答案,但我想知道是否有办法,特别是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# 中以编程方式查找所有可用的波特率(串行端口类)