libusb_get_device_with_vid_pid

时间:2015-08-19 14:51:09

标签: c++ c linux libusb

我试图通过usb从树莓派2打开与相机的连接。我能够检测到相机,但是当我尝试使用

打开连接时
libusb_open_device_with_vid_pid(null, vendor id, product id);

但我收到了分段错误。我把它缩小了,这行代码就是造成分段错误的原因。

void opendevice(){
    libusb_device_handle* dev;
    struct libusb_device_descriptor* desc;
    int err;

dev = libusb_open_device_with_vid_pid(NULL,0x2a0b,0x00f8);

   if (dev == NULL){
        printf("device not found\n");
       }

else {
     err = libusb_claim_interface(dev, 0);
     }    
}

来自pi的消息在我的电脑上打开了腻子。

Segmentation fault

关于我做错了什么的想法?

1 个答案:

答案 0 :(得分:1)

NULL您获得dev,无论如何都要使用它。您可以在printf()之后添加return语句,或在else之前添加libusb_claim_interface()