libusb_bulk_transfer读取超时的问题及libusb错误代码

使用libusb_bulk_transfer 读写批量端点,但遇到了一个奇怪的问题。它返回一个 TIMEOUT_ERROR,错误代码-7,困扰了我好几天,发现是因为在初始化设备建立连接时,我使用了一个读空的操作,即在建立usb设备与上位机的连接之前,有一个读空的步骤,清除之前连接遗留的数据。这个地方调用了libusb_bulk_transfer,这里本身读的就是空值,一直没有能读到其他的值,导致读取超时,出现了TIMEOUT_ERROR,因此在调用libusb_bulk_transfer之前要调用libusb_clear_halt()这个指令,就可以顺利读取。
libusb_bulk_transfer读取超时的问题及libusb错误代码_第1张图片

你可能感兴趣的:(linux,usb)