【发布时间】:2022-09-26 18:22:11
【问题描述】:
我正在尝试使用发送控制传输
int err = libusb_control_transfer(_handle, 0x40, 42, 0x1234, 0, data, length, 1000);
我不断收到LIBUSB_TRANSFER_TIMED_OUT,我不知道为什么我看了一遍但没有运气。有谁知道如何解决这个错误或有一个解决方案的链接,甚至是一个工作控制转移的例子?
我正在尝试使用发送控制传输
int err = libusb_control_transfer(_handle, 0x40, 42, 0x1234, 0, data, length, 1000);
我不断收到LIBUSB_TRANSFER_TIMED_OUT,我不知道为什么我看了一遍但没有运气。有谁知道如何解决这个错误或有一个解决方案的链接,甚至是一个工作控制转移的例子?
当传输超时时会得到 LIBUSB_TRANSFER_TIMED_OUT,所以首先你可以检查是否通过 USB 设备的 ACK,或者你可以将超时从 1000 更改为一个高数以进行测试。
您可以登录到 FX3 端检查设备是否收到此请求。
您可以使用 USB 分析器(如 Wireshark)检查 USB 跟踪,以了解 USB 控制传输的状态。
此外,https://community.infineon.com/t5/USB-superspeed-peripherals/bd-p/usb-superspeed-peripherals 可以帮助您调试固件代码。
【讨论】: