我使用libusb-1.0与设备进行通信。
int rc=libusb_init(NULL);
Q_ASSERT_X(rc == 0,"initialization","---libusb is not initialized----" );
libusb_set_debug(NULL, 3);
m_handle = libusb_open_device_with_vid_pid(NULL, VID, PID);
if (m_handle == NULL)
return false;
if (libusb_kernel_driver_active(m_handle,DEV_INTF))
libusb_detach_kernel_driver(m_handle, DEV_INTF);
if (libusb_claim_interface(m_handle, DEV_INTF) < 0)
return false;
我有两个独立的软件产品,它们都处理设备。 如果我在第一个软件中使用设备,我将无法在第二个软件中使用open_device_with_vid_pid。我怎样才能获得设备正忙的状态? Libusb调试显示错误
libusb:错误[winusbx_open]无法打开设备...访问被拒绝
答案 0 :(得分:1)
在尝试打开设备并检查设备是否成功之前,没有跨平台的方法。