我正在尝试使用USB HID复合设备(自写)。 有两个接口,都是HID。但第二个是Custom HID。
我使用的是libusb-1.0,但那就是我可以将它打开。我试过的任何其他操作都会引发SEGV。
这是代码(QT Creator,MinGW64):
int main(int argc, char *argv[])
{
int i=0;
struct libusb_device_descriptor desc;
libusb_device ** devs;
libusb_device * dev;
int r = libusb_init(NULL);
if (r < 0)
return r;
int cnt = libusb_get_device_list(NULL, &devs);
if (cnt < 0)
return cnt;
while((dev = devs[i++]) != 0){
r = libusb_get_device_descriptor(dev, &desc);
if (r < 0) {
fprintf(stderr, "failed to get device descriptor");
return -1;
}
if (desc.idVendor == 0x0483){
libusb_device_handle * h;
if (!libusb_open(dev,&h)){
if (0 == (r=libusb_claim_interface (h,1)) )
我在这里得到了SIGSEGV。 我试图获取字符串描述符并设置配置。我得到了同样的结果。
哪里错了?