资源描述:
《USB描述符完全解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、USB设备描述符完全解析//============================================================================//文件名:USBDESC.C//用途:USB描述符//作者:shenfei5//时间:2007.2.3//版本:V1.10//============================================================================ #include#include"us
2、b.h"//USB模块#include"hid.h"//HID设备#include"usbcfg.h"//配置USB#include"usbdesc.h"//USB描述符////HID报文描述符//constU8HID_ReportDescriptor[]={HID_UsagePageVendor(0x00),//报告页版本:0X060X000XFFHID_Usage(0x01),//用途页:0X050X01//如果是MOUSE,KEY,在这里应该有用法索引HID_Collection(HID_Applica
3、tion),//用法集合开始:0XA10X01 HID_UsagePage(HID_USAGE_PAGE_BUTTON),//BUTTON用法页HID_UsageMin(1),//用法最小值HID_UsageMax(3),//用法最小值HID_LogicalMin(0),//逻辑最小值 HID_LogicalMax(1),//逻辑最大值HID_ReportCount(3),//报告计数(3)HID_ReportSize(1),//报告页大小(1)HID_Input(HID_Data
4、HID_Variable
5、
6、HID_Absolute),//输入(2) HID_ReportCount(1),//报告计数值HID_ReportSize(5),//报告大小HID_Input(HID_Constant),//输入1HID_UsagePage(HID_USAGE_PAGE_LED),//LED用法页HID_Usage(HID_USAGE_LED_GENERIC_INDICATOR),//用法页HID_LogicalMin(0),//用法最小值HID_LogicalMax(1),//用法最大值HID_ReportCount(
7、8),//报告计数值HID_ReportSize(1),//报告大小(1)HID_Output(HID_Data
8、HID_Variable
9、HID_Absolute),//输出(2)HID_EndCollection,//报告结束};//HID报告描述符大小constU16HID_ReportDescSize=sizeof(HID_ReportDescriptor);////USB设备描述符 //constU8USB_DeviceDescriptor[]={USB_DEVICE_DESC_SIZE,//bLe
10、ngth描述符长度=12HUSB_DEVICE_DESCRIPTOR_TYPE,//bDescriptorType描述符类型=1H WBVAL(0x0110),//1.10//bcdUSB设备版本号=你发行的版本的号0x00,//bDeviceClass类型代码=由USB指定0x00,//bDeviceSubClass子类型代码=由USB分配 0x00,//bDeviceProtocol协议代码=由USB分配USB_MAX_PACKET0,//bMaxPacketSize0端点0的容量=64(只能是8,16,
11、32,64)WBVAL(0x1977),//idVendor供应商ID(同USB协会分配,我就自己分配一份)WBVAL(0X1006),//idProduct产品ID(由厂商分配)WBVAL(0x0100),//1.00//bcdDevice(设备出厂编号)0x04,//iManufacturer(厂商描述字符串索引,用来在字符串索引中查找字符串 )0x20,//iProduct(产品描述字符串索引,用来在字符串索引中查找字符串 )0x42,//iSerialNumber (设备序列号描述字符串索引,用来在字
12、符串索引中查找字符串 )0x01//bNumConfigurations( 配置字符串的个数 )};////USB描述符集//所有描述符(配置描述符,接口描述符,端点描述符,USB类描述符,设备描述符//constU8USB_ConfigDescriptor[]={//配置描述符 USB_CONFIGUARTION_DESC_SIZE,//bLength描述符长度=9HUSB_CONFIGURATI