我试图通过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
关于我做错了什么的想法?
答案 0 :(得分:1)
NULL
您获得dev
,无论如何都要使用它。您可以在printf()
之后添加return语句,或在else
之前添加libusb_claim_interface()
。