1、先执行inf-wizard.exe安装libusb驱动,安装成功之后设备管理器里面就会多出一个libusb设备了
2、在vc项目中添加lusb0_usb.h头文件和libusb.lib库文件,我添加到vs2013的mfc项目中没有作任何修改就可以直接编译成功了
3、依次调用
usb_init(); /* initialize the library */
usb_find_busses(); /* find all busses */
usb_find_devices(); /* find all connected devices */
4、使用usb_get_busses()获得设备链表,遍历链表找到想要打开的设备,然后使用
usb_open()打开设备,libusb的demo里面封装了个打开设备的方法
usb_dev_handle *open_dev(void)
{
struct usb_bus *bus;
struct usb_device *dev;
for (bus = usb_get_busses(); bus; bus = bus->next)
{
for (dev = bus->devices; dev; dev = dev->next)
{
if (dev->descriptor.idVendor == MY_VID
&& dev->descriptor.idProduct == MY_PID)
{
return usb_open(dev);
}
}
}
return NULL;
}
MY_VID 和 MY_PID可以在设备管理器里面找
5、成功打开设备之后调用usb_claim_interface() 请求一个接口
6、使用usb_bulk_write()写入数据
7、如果操作失败可以调用usb_strerror()获得具体的错误信息