Arduino Micro USB库
USBCore.cpp
#define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs) \ { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs }
// DEVICE DESCRIPTOR const DeviceDescriptor USB_DeviceDescriptor = D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,ISERIAL,1); const DeviceDescriptor USB_DeviceDescriptorB = D_DEVICE(0xEF,0x02,0x01,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,ISERIAL,1);
表4、USB设备描述符的结构
|
||||
偏移量 |
域 |
大小 |
值 |
描述 |
0 |
bLength |
1 |
数字 |
此描述表的字节数 |
1 |
bDecriptorType |
1 |
常量 |
描述符的类型(此处应为0x01,即设备描述符) |
2 |
bcdUSB |
2 |
BCD码 |
此设备与描述表兼容的USB设备说明版本号(BCD 码) |
4 |
bDeviceClass |
1 |
类 |
设备类码: |
5 |
bDeviceSubClass |
1 |
子类 |
子类挖码 |
6 |
bDevicePortocol |
1 |
协议 |
协议码 |
7 |
bMaxPacketSize0 |
1 |
数字 |
端点0的最大包大小(仅8,16,32,64 |
8 |
idVendor |
2 |
ID |
厂商标志(由USB-IF组织赋值) |
10 |
idProduct |
2 |
ID |
产品标志(由厂商赋值) |
12 |
bcdDevice |
2 |
BCD 码 |
设备发行号(BCD 码) |
14 |
iManufacturer |
1 |
索引 |
描述厂商信息的字符串描述符的索引值。 |
15 |
iProduct |
1 |
索引 |
描述产品信息的字串描述符的索引值。 |
16 |
iSerialNumber |
1
|
索引 |
描述设备序列号信息的字串描述符的索引值。 |
17 |
bNumConfigurations |
1 |
数字 |
可能的配置描述符数目 |
引用来源:http://www.baiheee.com/Documents/090518/090518112619.htm