阅读:1169回复:2
为什么主机给两个USB设备(设备的硬件相同)分配的设备地址相同?
写了一个USB设备驱动,用driverworks3.1写的,当两个USB设备接入主机时出现一下的问题:
1.当两个USB设备接在同一个主机控制器(host controller)下,在设备管理器中都可正常识别,并且每 个USB设备均可正常使用。 2.当两个USB设备接在不同的主机控制器下,在设备管理器中只识别了一个设备,通过USBview.exe 查看,主机给两个USB设备分配的设备地址(device address)都是0x01。 根据USB协议,在枚举过程中,主机应该给USB设备分配不同的设备地址,以区别不同的设备,但出现了上面描述的问题,不知是什么原因造成的。我在其他PC机上试验也出现相同的问题。 请大家分析一下原因,说说解决方法。 |
|
|
沙发#
发布于:2007-03-14 15:21
为什么会给设备分配相同的地址呢?思考了很久,不知该从什么地方找原因。
|
|
|
板凳#
发布于:2007-03-15 11:20
经过实践,两个USB设备的设备地址(device address)可以相同,前提是两个USB设备在不同的主机控制器下,因为主机控制器的路径(或者说是主机控制器的地址)不同,则即使在不同主机控制器下的设备地址相同,操
作系统也可以区分两个USB设备。需要注意的是:在同一个主机控制器下的usb设备的设备地址一定不会相同。 本贴可以结贴了! 但是两个USB设备接在不同主机控制器下只识别出一个设备的问题还是没解决,郁闷ing。。。。 |
|
|