coke
驱动牛犊
驱动牛犊
  • 注册日期2006-07-02
  • 最后登录2011-05-26
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望351点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分1分
阅读:3904回复:5

libusb-win32无法用在复合USB设备上.

楼主#
更多 发布于:2009-05-01 19:04
原来一直用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驱动可以用?
yanglibin1000
驱动牛犊
驱动牛犊
  • 注册日期2009-07-17
  • 最后登录2009-10-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-10-28 21:23
楼主,你好。我最近要用libusb-win32和C++做USB的PC端驱动,有很多问题不明白,可以交流一下,希望楼主留下联系方式,我的QQ:475906026
huahang
驱动牛犊
驱动牛犊
  • 注册日期2008-09-05
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-03-05 09:58
楼主您好,想请教复合类型的usb设备如何读写的问题,我的邮箱huangchungang@gmail.com,qq:85439518.期待和您联系,多谢多谢!
huahang
驱动牛犊
驱动牛犊
  • 注册日期2008-09-05
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-03-05 10:05
楼主,或者您提示一下,找到哪些可以类似的支持复合类型usb的,不胜感激,遇到问题,没有解决,很着急。多谢。
fans_yi
驱动牛犊
驱动牛犊
  • 注册日期2010-02-04
  • 最后登录2010-03-10
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-03-05 17:18
mark
jally76
驱动牛犊
驱动牛犊
  • 注册日期2005-04-28
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望590点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-03-12 17:56
要搞清楚你这个usb_set_configuration(dev, 1) 调用中第二个参数的含义,它指的不是Configuration的索引号,而是指某个Configuration的Descriptor的bConfigurationValue域的值。你用1当然是不对的!
游客

返回顶部