消息关闭
    暂无新消息!
    libusb_device **devs;
    libusb_context *ctx = NULL;
    int num;

    int r=libusb_init(&ctx);
    if(r<0)
    {
      qDebug()<<"init error";

    }


    int cnt = libusb_get_device_list(ctx, &devs);
    if(cnt<0)
    {
        qDebug()<<"get device error";


    }
    else
    {
        qDebug()<<"device number:"<<cnt;
    }

    libusb_device_handle *handle;


    for(int i=0;i<cnt;i++)
    {
        libusb_device_descriptor desc;
        r=libusb_get_device_descriptor(devs[i],&desc);

        if(r<0)
        {
            qDebug()<<"get device descriptor error";
        }


        if(desc.idVendor==0x0c45&&desc.idProduct==0x6340)
        {

            qDebug()<<"find the target device";



            handle=libusb_open_device_with_vid_pid(ctx,0x0c45,0x6340);



            if(handle==NULL)
            {
                qDebug()<<"open device error";
            }

             break;

        }


    }


可以读取USB设备的基本数据,但是无法打开设备,总是返回NULL,请问如何解决?

2个回答