libusb libusb_bulk_transfer 数据通信出错, 错误为LIBUSB_ERROR_IO

首先, 我的设备是一个KNX无线接受模块, 利用UART与主机相连, 看到的设备就是ttyUSBx

利用libusb写了一个程序, 调用同步I/O 的API, 即libusb_bulk_transfer来传输数据给KNX模块, 代码片段如下:

.....

前面一系列的libusb_init()libusb_open_with_vid_pid() libusb_claim_interface()调用均已成功;

......

(buffer里面随便存放了一些AAABBBCCC之类的数据以供测试)

r = libusb_bulk_transfer(device_handle, LIBUSB_ENDPOINT_OUT, buffer, 64, &actual_length, 0);

返回r = -1, 即LIBUSB_ERROR_IO (input/output error);

请各位大牛指导一下, 谢谢。

回答

一个样 楼主有啥解决办法吗回复 @TymonHuang :
2.1 初始化设备接口

函数定义: void usb_init(void);
函数定义: int usb_find_busses(void);
函数定义: int usb_find_devices(void);
函数定义: struct usb_bus *usb_get_busses(void);

你是说 这种的?replace libusb as your own code, I mean use the raw API based on Linux, open, read write

你需要单片机程序配合才能正常通信,我可以提供整套源码,包括上位机程序,单片机程序,需要的可以找我

回复 @TymonHuang : 你是如何解决的,read句柄传参你是填的什么?我现在也是和你一样的问题回复 @TymonHuang : 你好 , 你用open read write 是怎么操作usb设备的呢?谢谢, 我用Linux提供的open() read() write()解决了问题!

你是如何解决的,我想在和你一样的问题,想知道你使用read、write句柄你是怎么传参的

以上是libusb libusb_bulk_transfer 数据通信出错, 错误为LIBUSB_ERROR_IO的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>