C++ libusb通信问题,请教!
errcode = libusb_bulk_transfer(usb_handle, INT_RECV_EP, ReceiveBuf, sizeof(ReceiveBuf), &rlen, 0);
使用libusb_bulk_transfer读数据,设备上电后第一次读取,errcode返回0,成功,再次进行读取数据操作时errcode就返回**-7**,超时,重新给设备上电就又可以正常读取一次,请大家帮忙看看那这是哪里的问题。
大概流程如下:
int ret = libusb_init(NULL);
ret = get_device_descriptor(&udev_desc, &udev);
ret = get_device_endpoint(&udev_desc, &udev);
usb_handle = libusb_open_device_with_vid_pid(NULL, udev.vid, udev.pid);
ret = libusb_claim_interface(usb_handle, udev.bInterfaceNumber);
ret = libusb_claim_interface(usb_handle, 1);
unsigned char SendData[20]={0};
int errcode = libusb_bulk_transfer(usb_handle, INT_SEND_EP, SendData, sizeof(SendData), &wlen, 0);//发送
Sleep(200);
unsigned char ReceiveBuf[20] = {0};
errcode = libusb_bulk_transfer(usb_handle, INT_RECV_EP, ReceiveBuf, sizeof(ReceiveBuf), &rlen, 0);//接收
libusb_close(usb_handle);
libusb_exit(NULL);
usb_handle = NULL;
在线 感谢 各位!