最近在做关于usb设备的项目,用到了libusb,发现关于这个的函数库的介绍,讲解很少,下面仅仅是简单展示一些基本的使用方法,以备后用。
本人的系统ubuntu,首先
sudo apt-get install libusb-dev
sudo apt-get install libusb-1.0-0-dev
安装libusb开发环境,这个函数库的函数基本上定义在libusb-1.0/libusb.h里,因此,使用时需要引用头文件#include <libusb-1.0/libusb.h>,另外,使用gcc编译时需要加上 `pkg-config --libs --cflags libusb-1.0`,例如
gcc findusb.c -o findusb `pkg-config --libs --cflags libusb-1.0`
下面给出两个函数,获取usb设备的idVendor(vid),idProduct(pid),以及Serial Number
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <libusb-1.0/libusb.h>
#define CHAR_MAX_LEN 256
#define BUF_MAX_LEN INT_MAX
struct usb_st{
char sn[CHAR_MAX_L