USB串行端口无任何原因停止工作

时间:2014-04-29 07:06:59

标签: c#

我用作条形码阅读器的USB-SerialPort转换器。 (转换器的驱动程序在CD上提供 - 公司:digitus)

在我的程序(C#)中,我等待SerialPortDataReceived-Events并继续,如果我得到值 - 到目前为止一切正常。

现在的问题是我有时不再收到数据。 相同的阅读器和USB-RS232转换器以及相同的笔记本电脑(lenovo,Win7)在8个电台使用,但只有2个我有这个问题。

当我遇到读者阅读时我没有收到数据的情况时,我看不出任何问题。 Windows说串口工作正常。

但是,当我拔下阅读器的电源并重新连接我的程序中的COM-Port时,它再次工作。 (我不认为读者是问题,因为那些读者在我工作的公司中使用了几百次) 所以它必须是转换器或转换器和条形码阅读器的合作!?

我的下一个想法是尝试另一个转换器,但有没有办法了解原因? 或者有没有人有类似的问题?

2 个答案:

答案 0 :(得分:2)

尝试禁用“ USB选择性挂起”功能

  1. 打开控制面板
  2. 单击硬件和声音
  3. 单击电源选项
  4. 点击更改计划设置链接以获取当前使用的计划。 (如果您更改了未激活的电源计划上的设置,则将无法使用。)
  5. 点击更改高级电源设置链接。
  6. 展开 USB设置
  7. 展开 USB选择性暂停设置
  8. 从下拉菜单中选择已禁用
  9. 点击应用
  10. 点击确定

如果您要在笔记本电脑或平板电脑上更改设置,则会看到两个选项:使用电池插入,因此请确保更改这些设置

完成这些步骤后,Windows 10将不再关闭与计算机连接的USB设备的电源,这可以解决由于此功能而可能导致的任何问题。

虽然本指南重点介绍Windows 10,但USB选择性挂起已经存在了很长时间,您可以在运行Windows 8.1和Windows 7的计算机上使用相同的步骤。

有关更多详细信息,请检查https://www.windowscentral.com/how-prevent-windows-10-turning-usb-devices#:~:text=When%20a%20USB%20device%20is,feature%20to%20fix%20the%20problem.&text=Windows%2010%20includes%20the%20USB,re%20not%20actively%20in%20use

答案 1 :(得分:0)

USB端口以这种方式非常不可靠。获得可靠的serial.port的唯一方法是使用PCI卡或以太网设备服务器。您永远无法通过USB获得一致的连接。

我们在串口通信中报告了一个月大约一个错误,每一次都是由于有人使用USB转RS232转换器。一旦我们安装了更好的硬件,问题就会消失。