为什么NI-VISA不能控制我的USB设备?



主要软件:
主要软件版本: 3.5
主要软件修正版本: N/A
次要软件: N/A

问题:
我有一个第三方的USB设备,它属于一个特定的类型或者已经有一个驱动程序了,我想通过NI-VISA和它通讯。我使用VISA Driver Development Wizard给我的仪器创建了.inf文件(察看下面的链接)。我插入USB设备并且选择我刚刚创建的.inf文件,但是Windows要么认为它不是正确的仪器驱动然后装上Windows自己的驱动,要么什么都不干。

解答:
NI-VISA是设计来给USB设备的,但是这些设备是没有特殊的类型,没有现有的驱动,或者属于USB TMC (Test and Measurement Class)或者488类型部分的。

Microsoft Windows使用一个权重系统来决定什么是仪器的最适合驱动。它是和通用类型驱动比如CCID,MSC和HID在一起的,它们都是注册驱动。通过的这个权重系统,微软更愿意安装注册驱动,会认为设备的类型比设备的VID (Vendor ID)以及PID (Product ID) 和没有注册的设备驱动级别更高。如果系统中已经安装了签字的驱动,这将禁止 NI-VISA 做为驱动被安装。

解决办法是改变设备的固件,这样就不会指定一个类型或者使用特定的微软驱动,而不使用 NI-VISA。

相关链接:
Developer Zone Tutorial: USB Instrument Control Tutorial
Microsoft.com: USB FAQ: Introductory Level
Microsoft TechNet: How Windows Determines the Most Suitable Device Driver to Install During Setup

附件:





报告日期: 08/04/2006
最近更新: 12/11/2007
文档编号: 3EREJORY