自动检测并连接到虚拟COM端口上的设备

时间:2018-03-07 18:22:15

标签: c# serial-port uart modbus

我正在使用Modbus RTU进行通信的嵌入式设备。单个从器件可配置不同的波特率,奇偶校验,数据位和停止位。

当我将从属设备连接到计算机时,我必须知道设备的确切配置才能与之通信。例如,在C#中,您将按以下方式打开连接:

SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);

是否有标准方法“扫描”设备的虚拟COM端口并确定通信参数?将我的设备插入USB端口并单击即可连接到它真的很棒。

1 个答案:

答案 0 :(得分:2)

  

是否有标准方法“扫描”设备的虚拟COM端口并确定通信参数?

没有

除非设备特别支持,否则没有标准方法可以自动协商波特率。如果设备支持它,则需要将已知的字符序列传输到设备,以便检测正确的波特率。

鉴于Modbus不支持自动波特率,因此必须以特定于设备的方式实现,因为它不属于Modbus规范。因此,您每次都必须设置串行设置。