欢迎来到天天文库
浏览记录
ID:40582823
大小:38.50 KB
页数:4页
时间:2019-08-04
《USB的描述符及各种描述符之间的依赖关系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、USB的描述符及各种描述符之间的依赖关系描述符都有自己独立的编号,如下:#defineDEVICE_DESCRIPTOR 0x01 //设备描述符#defineCONFIGURATION_DESCRIPTOR 0x02 //设置描述符#defineSTRING_DESCRIPTOR 0x03 //字符串描述符#defineINTERFACE_DESCRIPTOR 0x04 //接口描述符#defineENDPOINT_DESCRIPTOR 0x05 //端点描述符 下面分别周详介
2、绍一下各描述符。1.设备描述符//定义标准的设备描述符结构typedefstruct_DEVICE_DCESCRIPTOR_STRUCT{BYTEblength; //设备描述符的字节数大小BYTEbDescriptorType; //设备描述符类型编号WORDbcdUSB; //USB版本号BYTEbDeviceClass; //USB分配的设备类代码BYTEbDeviceSubClass; /
3、/USB分配的子类代码BYTEbDeviceProtocol; //USB分配的设备协议代码BYTEbMaxPacketSize0; //端点0的最大包大小WORDidVendor; //厂商编号WORDidProduct; //产品编号WORDbcdDevice; //设备出厂编号BYTEiManufacturer; //设备厂商字符串的索引BYTEiProdu
4、ct; //描述产品字符串的索引BYTEiSerialNumber; //描述设备序列号字符串的索引BYTEbNumConfigurations; //可能的设置数量}DEVICE_DESCRIPTOR_STRUCT,*pDEVICE_DESCRIPTOR_STRUCT;//实际的设备描述符示例codeDEVICE_DESCRIPTOR_STRUCTdevice_descriptor= //设备描述符{sizeof(DEVICE_DESCRIPTOR_STRUCT),
5、 //设备描述符的字节数大小,这里是18字节DEVICE_DESCRIPTOR, //设备描述符类型编号,设备描述符是010x1001, //USB版本号,这里是USB01.10,即USB1.1。由于51是大端模式,所以高低字节交换0x00, //USB分配的设备类代码,0表示类型在接口描述符中定义0x00, //USB分配的子类代码,上面一项为0时,本项也要设置为00x00, /
6、/USB分配的设备协议代码,上面一项为0时,本项也要设置为00x10, //端点0的最大包大小,这里为16字节0x7104, //厂商编号,这个是需要跟USB组织申请的ID号,表示厂商代号。0xf0ff, //该产品的编号,跟厂商编号一起配合使用,让主机注册该设备并加载相应的驱动程式0x0100, //设备出厂编号0x01, 4 //设备厂商字符串的索引,在获取字符串描述符时,使用该索引号来识别不同的字符串0x02, //描述产品字符串的索引,同上0x
7、03, //描述设备序列号字符串的索引,同上0x01 //可能的设置数为1,即该设备只有一个设置};2.设置描述符//定义标准的设置描述符结构typedefstruct_CONFIGURATION_DESCRIPTOR_STRUCT{BYTEbLength; //设置描述符的字节数大小BYTEbDescriptorType; //设置描述符类型编号WORDwTotalLength; //此设置返回的所有数据大小BYTEbNu
8、mInte
此文档下载收益归作者所有