📄 libusb_test.cpp
字号:
// Libusb_test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include "usb.h"
/* the device's vendor and product id */
#define MY_VID 0xABCD
#define MY_PID 0xEFFF
/* the device's endpoints */
#define EP_IN 0x82
#define EP_OUT 0x02
#define BUF_SIZE 512
usb_dev_handle *open_dev(void);
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;
}
int main(int argc, char* argv[])
{
usb_dev_handle *dev = NULL; /* the device handle */
int n;
usb_init(); /* initialize the library */
usb_find_busses(); /* find all busses */
n = usb_find_devices(); /* find all connected devices */
printf("%d\n", n);
if(!(dev = open_dev())){
printf("error: device not found!\n");
}else{
printf("device CCDDEEFF found :)\n");
if(usb_set_configuration(dev, 1) < 0)
{
printf("error: setting config 1 failed\n");
usb_close(dev);
dev = NULL;
}else{
printf("set configuration succeeded.\n");
if(usb_claim_interface(dev, 0) < 0)
{
printf("error: claiming interface 0 failed\n");
usb_close(dev);
dev = NULL;
}else{
printf("claim interface succeeded.\n");
}
}
}
if (dev){
usb_release_interface(dev, 0);
usb_close(dev);
}
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -