解决方案
当设备断电但计算机依旧通电时会出现此问题。例如,当计算机进入待机或省电模式时,通常会关闭USB端口的电源。此外,当计算机从休眠状态返回时,也会发生这种情况。在以上任何一种情况下,计算机都不会重新检测到设备,因此您将无法与之通信。
发生这种情况时,请按照以下说明在Windows中重新检测设备:
-
从Microsoft安装DevCon应用程序。 DevCon应用程序是一个命令行应用程序,可用作设备管理器的替代方法。使用DevCon,您可以启用,禁用,重新启动,更新,删除和查询单个设备或设备组。 你可以在这里下载DevCon 。
-
通过转到Start » Run,键入devmgmt.msc打开Windows设备管理器,然后单击“ 确定”按钮。
-
您现在需要确定故障设备连接到哪个USB集线器(端口)。因此,请展开列表底部的“Universal Serial Bus controllers”组。
-
依次双击每个USB Root Hub条目,然后单击Power选项卡以查看您的设备是否已列出。
-
找到列出设备的集线器后,单击“Details”选项卡,然后从下拉菜单中选择“Device Instance Id”。如果您运行的是Windows 7,请选择“Device Instance Path”而不是“Device Instance Id”。在第一个和第二个\符号之间记录列表中显示的名称,例如ROOT_HUB20。
-
接下来,通过转到“Start » Run” ,输入cmd ,然后单击“ 确定”按钮来启动命令提示符。
-
在“Command Prompt”窗口中,首先将目录更改为包含您下载的devcon.exe文件的文件夹。如果您使用的是64位操作系统,则需要确保调用64位版本的devcon.exe 。设置正确的目录后,输入下列命令,将ROOT_HUB20替换为您在步骤4中记录的内容。
devcon restart * ROOT_HUB20 *
注意: 如果您的用户界面设备(如鼠标或键盘)或任何其他USB设备(如USB网络适配器)与您尝试重新检测的USB设备位于同一根集线器上,那么在执行重启时您将失去鼠标或键盘的控制。
-
现在,Windows将可以删除并重新检测集线器和连接到它的任何USB设备,从而可以重新控制它们。如果这不起作用,您可能在步骤4中选择了错误的集线器。重复步骤3 - 6直到重新启动成功。
-
一旦知道设备连接到哪根集线器,就可以使用 System Exec VI 在LabVIEW中以编程方式实现此解决方案 ,它允许您将命令传递到命令提示符。该System Exec VI可以在库和可执行文件选板中找到。