阅读:3904回复:5
libusb-win32无法用在复合USB设备上.
原来一直用usblib-win32 + VC6做USB设备的驱动和应用程序开发. USB设备全部为单interface设备.\
用了几次. 效果很好. 现在发现用在复合类型的USB设备(多interface. 如Audio +CDC Interface)上 时候出了问题. 以下是libusb-win32的部分代码: if(!(dev = open_dev())) { m_detect +="No USB device!\r\n"; UpdateData(FALSE); return; } else m_detect +="Find device!\r\n"; if(usb_set_configuration(dev, 1) < 0) { m_detect +="error: setting config 1 failed!\r\n"; usb_close(dev); UpdateData(FALSE); return; } open_dev没问题. 能找到复合usb设备. 但是usb_set_configuration(dev, 1)就出问题了. 每次运行到这里应用程序的窗口就死了. 关也关不掉. 在进程管理器中也无法关掉这个窗口. 请问为什么usblib-win32无法用在复合型usb设备驱动上. 是否还有其他与usblib类似的 开源USB驱动可以用? |
|
沙发#
发布于:2009-10-28 21:23
楼主,你好。我最近要用libusb-win32和C++做USB的PC端驱动,有很多问题不明白,可以交流一下,希望楼主留下联系方式,我的QQ:475906026
|
|
板凳#
发布于:2010-03-05 09:58
楼主您好,想请教复合类型的usb设备如何读写的问题,我的邮箱huangchungang@gmail.com,qq:85439518.期待和您联系,多谢多谢!
|
|
地板#
发布于:2010-03-05 10:05
楼主,或者您提示一下,找到哪些可以类似的支持复合类型usb的,不胜感激,遇到问题,没有解决,很着急。多谢。
|
|
地下室#
发布于:2010-03-05 17:18
mark
|
|
5楼#
发布于:2010-03-12 17:56
要搞清楚你这个usb_set_configuration(dev, 1) 调用中第二个参数的含义,它指的不是Configuration的索引号,而是指某个Configuration的Descriptor的bConfigurationValue域的值。你用1当然是不对的!
|
|