0

我有一个 USB 设备(RF 徽章阅读器),我需要我的应用程序来检测该设备是否插入了女巫 COM 端口。我现在做的是这样的:

    SerialPort mySerialPort = new SerialPort("COM3");
    mySerialPort.BaudRate = 9600;
    mySerialPort.Parity = Parity.None;
    mySerialPort.StopBits = StopBits.One;
    mySerialPort.DataBits = 8;
    mySerialPort.Handshake = Handshake.None;
    mySerialPort.Open();

如果我将设备连接到另一个 USB 端口,应用程序会崩溃。任何想法如何做到这一点?

4

1 回答 1

0

对于大多数 USB 串行设备,如果您连接到另一个 USB 端口,COM 端口将会改变。这就是当您尝试打开 COM3 时它崩溃的原因。

您最好的选择可能是使 COM 端口 (COM3) 成为用户可配置的设置。您不应该在使用 USB 设备时断开/重新连接它,因此您实际上不需要自动检测。

但是,您可以尝试检测 USB 更改(例如,在 SO 上找到它)并自动检测您的设备(涉及一些通信)。成功与否可能取决于 USB 设备驱动程序。

于 2013-05-26T09:21:00.230 回答