libusb_open_device_with_vid_pid失败
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,请问如何解决?