有没有办法检测串口的最快速度
本文关键字:速度 串口 检测 有没有 | 更新日期: 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# 中以编程方式查找所有可用的波特率(串行端口类)