我正在使用 C# 的 SerialPort 类通过 USB COM 端口进行通信。SerialPort 可以正常打开并正常工作,直到发生异常。当我尝试通过我的应用程序使用端口时出现异常后,我得到另一个异常:“端口'COM6'不存在。” 关闭应用程序、重新启动 Visual Studio 等后,我不断收到异常。恢复端口的唯一方法是重新启动计算机。
有没有人看到这个问题并知道解决方法?我需要这个更耐用。
我正在使用 C# 的 SerialPort 类通过 USB COM 端口进行通信。SerialPort 可以正常打开并正常工作,直到发生异常。当我尝试通过我的应用程序使用端口时出现异常后,我得到另一个异常:“端口'COM6'不存在。” 关闭应用程序、重新启动 Visual Studio 等后,我不断收到异常。恢复端口的唯一方法是重新启动计算机。
有没有人看到这个问题并知道解决方法?我需要这个更耐用。
通常,由于您的 USB 转串行驱动程序未正确编写以处理异常,因此会发生此类问题。
与其重新启动机器,不如尝试拔下并重新插入(几秒钟后)。通过这样做,以前的实例可能会卸载,并且在插入它时,它将再次加载相关的驱动程序。
这将在设备管理器中枚举一个 com 编号(在您的情况下为 Com6)。
有一种方法可以使用以下链接中给出的“devcon.exe”重新启动 USB 连接。
http://digital.ni.com/public.nsf/allkb/1D120A90884C25AF862573A700602459
您可以将其集成到控制台应用程序并重新连接您的 USBTOSerial 而无需重新启动您的机器