阅读:2823回复:10
DDK开发USB设备请问一下怎么区分不同的USB设备
如USB光驱和USB存储设备我怎么区分了高手请回答一下
|
|
沙发#
发布于:2010-07-14 13:11
请版主回答一下急用谢谢了
|
|
板凳#
发布于:2010-07-16 10:44
USB设备的Device Descriptor中有bDeviceClass, bDeviceSubClass,Interface Descriptor中有bInterfaceClass, bInterfaceSubClass,通地这些就可以区分不同的USB设备
|
|
地板#
发布于:2010-07-16 19:51
回 2楼(jally76) 的帖子
如果是做嵌入式,开发一个主机,是这个主机可以去接一些USB设备,例如鼠标,摄像头等,写驱动的时候要注意什么。就是说比如把鼠标插到电脑上,电脑自带的有HID驱动,但是摄像头有时候需要另外装驱动,我就是想问问怎么在主机上实现能够随便接上一个USB摄像头,主机就能够识别它的设备号,并使它开始工作? |
|
|
地下室#
发布于:2010-07-17 17:36
回 2楼(jally76) 的帖子
这些我已知道 但是我用USBD_ParseConfigurationDescriptorEx 这个函数取 Interface Descripto 但不知道怎么的常显Error LNK2019而得到的bDeviceClass, bDeviceSubClass都 是0请问一下有什么解决办法 |
|
5楼#
发布于:2010-07-18 22:46
Error LNK2019是编译链接时就出错了,如何得到bDeviceClass, bDeviceSubClass的?
|
|
6楼#
发布于:2010-07-20 13:45
回 5楼(jally76) 的帖子
恩咯,我现在是用这个函数是没法子调用了,张帆那本书的例子更改可植性太差了有没有其它办法得到这个bDeviceClass, bDeviceSubClass |
|
7楼#
发布于:2010-07-21 11:13
主机是在检测到设备接入到端口后,给设备分配地址,然后读取相应的设备描述符及配置描述符。设备的Class及SubClass信息可以从配置描述符中得到,根据这个信息主机再加载相应的Class驱动。
|
|
8楼#
发布于:2010-07-21 11:19
|
|
9楼#
发布于:2010-08-03 15:43
回 8楼(jally76) 的帖子
我现在用 得到Configuration描述符 用PUSB_INTERFACE_DESCRIPTOR interfaceDescriptor=(PUSB_INTERFACE_DESCRIPTOR)(Configuration描述符+1)的方法取得了描述符但是这只有在 ConfigurationDescriptor->wTotalLength 为32时才取得正确的描述符 ConfigurationDescriptor->wTotalLength 为25则得不到 我现在是本机有三个USB口有两个能得到正确的接口描述符还有一个得不到正确的描述符请问怎么解决 |
|
10楼#
发布于:2010-08-11 09:15
请问楼主是怎么解决这个问题的啊,我也碰到了同样的问题,想要区分usb的刻录光驱和U盘,但是我用楼上那些大侠回复的方法,都不行,首先bDeviceClass, bDeviceSubClass得出来的结果都是0,还有bInterfaceClass, bInterfaceSubClass得出来的结果是两个设备是相同的,所以我现在实在是很困惑,不知道该怎么做,请大侠们给指导个方向。。。。。。。
|
|