最近研究libusb开源库,需要从下位机获取数据,下面是一个完整的例子:
#include "libusb.h"
int main(int argc, char* argv[])
{
libusb_context *usb_context = nullptr;
libusb_device **dev_list;
libusb_device *dev = NULL;
libusb_device *dev_temp;
libusb_device_handle *dev_handle = NULL;
int ret = -1;
ssize_t cnt;
if (ret = libusb_init(&usb_context) < 0)
{
printf("init error:%d\n",ret);
return ret;
}
if (cnt = libusb_get_device_list(usb_context, &dev_list) < 0)
{
printf("get device list error:%d\n", cnt);
return cnt;
}
int i = 0;
while ((dev_temp = dev_list[i++]) != NULL)
{
struct libusb_device_descriptor desc;
int r = libusb_get_de