文章摘要:本文描述了基于Linux系统的USB设备访问方法的实现
操作系统:Debian8


安装USB开发支持包:libusb-dev

编译选项需加入-lusb参数


示例代码:

#include <stdio.h>
#include <usb.h>

int main(int argc, char** argv)
{
  int ret;

  usb_init();

  // 查找USB总线
  ret = usb_find_busses();
  printf("ret = %d\r\n", ret);

  // 查找USB设备
  ret = usb_find_devices();
  printf("ret = %d\r\n", ret);

  struct usb_bus *bus;
  struct usb_device *dev;

  // 遍历设备(输出VID/PID)
  for(bus = usb_busses;bus;bus=bus->next)
  {
       for(dev=bus->devices;dev;dev=dev->next)
       {
          printf("VID = %04X, PID=%04X\r\n",
                 dev->descriptor.idVendor,
                 dev->descriptor.idProduct);
       }
       printf("\r\n");
  }    

  return 0;

}

注意事项:
usb_busses为全局变量;