您的位置 首页 CAN卡教程

USBCAN盒什么情况下可以尝试重新枚举设备?

 USBCAN盒设备什么情况下可以尝试重新枚举设备?

假如pc所接的设备(USBCAN盒)由于干扰或其它情况导致通讯异常,且接口函数无法对其进行任何操作。只有PC重新上电或者设备重新拔插才能恢复的情况下。但现场应用中,会遇到不方便热拔插,不方便重启电脑,甚至不允许热拔插(如PCIe卡)的情况。


  
可以尝试在设备管理器,将设备右击【禁用设备】再右击【启用设备】——将设备重新枚举。

如果进行了上述重新枚举设备的操作能顺利让设备恢复正常——那么请继续阅读本文档,文档将讲述如何通过脚本快速对设备进行重新枚举。
注:此方法一般仅限于函数库及驱动本身已经无法让设备恢复正常,且设备挂死的现象偶发,干扰无法排除的情况下。

脚本执行的原理

Devcon.exe工具

devcon.zip工具——【右击另存为下载】
Devcon,即设备控制台,是windows平台的一个命令行工具,可以通过它对设备进行读取详细信息,禁用设备,重启设备等操作。
  
本章即是使用此工具对设备进行重新枚举(restart)操作。

确认设备硬件ID

先打开【设备管理器】,找到设备,右击【属性】

选择【详细信息】,将【属性】选项下拉,选择【硬件ID】

  其中我们可以看到关键的信息:”USB\VID_0471&PID_1200……”,中VID_0471&PID_1200则对应USBCAN-II这个型号。
  如果是PCIe-9140I设备,则为:”PCI\VEN_10B5&DEV_9140……”,同理。

通过命令行运行devcon

1.将devcon.exe放在电脑某个路径,如图

2.以管理员身份打开命令行终端,win+R,然后“运行”窗口输入cmd后,按”Shift+Ctrl+Enter”按键打开终端(以管理员身份运行)。

3.打开到devcon.exe的路径下

4.通过devcon工具执行disable/enable/restart指令,对CAN卡设备进行操作。
devcon restart "USB/VID_0471&PID_1200*"
即可对USBCAN-II产品进行重新枚举操作。
注:
1.restart指令——重启设备,即重新枚举
2.disable指令——禁用设备
3.enable指令——启用设备,当禁用与启用一起使用则等效于restart
4.*号代表省略

5.如上图,看到device restart的日志,则说明设备已经被重新枚举了。

热门文章