資源描述:
《USB的描述符及各種描述符之間的依賴關(guān)系》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、USB的描述符及各種描述符之間的依賴關(guān)系描述符都有自己獨立的編號,如下:#defineDEVICE_DESCRIPTOR??????????0x01??//設(shè)備描述符#defineCONFIGURATION_DESCRIPTOR??????0x02??//設(shè)置描述符#defineSTRING_DESCRIPTOR??????????0x03??//字符串描述符#defineINTERFACE_DESCRIPTOR????????0x04??//接口描述符#defineENDPOINT_DESCRIPTOR????????0x05??//端點描述符??下面分別周詳介
2、紹一下各描述符。1.設(shè)備描述符//定義標(biāo)準(zhǔn)的設(shè)備描述符結(jié)構(gòu)typedefstruct_DEVICE_DCESCRIPTOR_STRUCT{BYTEblength;????????????????????//設(shè)備描述符的字節(jié)數(shù)大小BYTEbDescriptorType;??????????????//設(shè)備描述符類型編號WORDbcdUSB;??????????????????????//USB版本號BYTEbDeviceClass;??????????????????//USB分配的設(shè)備類代碼BYTEbDeviceSubClass;????????????????/
3、/USB分配的子類代碼BYTEbDeviceProtocol;????????????????//USB分配的設(shè)備協(xié)議代碼BYTEbMaxPacketSize0;????????????????//端點0的最大包大小WORDidVendor;????????????????????//廠商編號WORDidProduct;????????????????????//產(chǎn)品編號WORDbcdDevice;????????????????????//設(shè)備出廠編號BYTEiManufacturer;????????????????//設(shè)備廠商字符串的索引BYTEiProdu
4、ct;????????????????????//描述產(chǎn)品字符串的索引BYTEiSerialNumber;????????????????//描述設(shè)備序列號字符串的索引BYTEbNumConfigurations;??????????????//可能的設(shè)置數(shù)量}DEVICE_DESCRIPTOR_STRUCT,*pDEVICE_DESCRIPTOR_STRUCT;//實際的設(shè)備描述符示例codeDEVICE_DESCRIPTOR_STRUCTdevice_descriptor=??//設(shè)備描述符{sizeof(DEVICE_DESCRIPTOR_STRUCT),?
5、???????????//設(shè)備描述符的字節(jié)數(shù)大小,這里是18字節(jié)DEVICE_DESCRIPTOR,????????????????????//設(shè)備描述符類型編號,設(shè)備描述符是010x1001,??//USB版本號,這里是USB01.10,即USB1.1。由于51是大端模式,所以高低字節(jié)交換0x00,??????????????????????//USB分配的設(shè)備類代碼,0表示類型在接口描述符中定義0x00,??????????????????????//USB分配的子類代碼,上面一項為0時,本項也要設(shè)置為00x00,??????????????????????/
6、/USB分配的設(shè)備協(xié)議代碼,上面一項為0時,本項也要設(shè)置為00x10,??????????????????????//端點0的最大包大小,這里為16字節(jié)0x7104,????????????????????//廠商編號,這個是需要跟USB組織申請的ID號,表示廠商代號。0xf0ff,??????//該產(chǎn)品的編號,跟廠商編號一起配合使用,讓主機(jī)注冊該設(shè)備并加載相應(yīng)的驅(qū)動程式0x0100,????//設(shè)備出廠編號0x01,???4???//設(shè)備廠商字符串的索引,在獲取字符串描述符時,使用該索引號來識別不同的字符串0x02,??????//描述產(chǎn)品字符串的索引,同上0x
7、03,??????//描述設(shè)備序列號字符串的索引,同上0x01????????????????//可能的設(shè)置數(shù)為1,即該設(shè)備只有一個設(shè)置};2.設(shè)置描述符//定義標(biāo)準(zhǔn)的設(shè)置描述符結(jié)構(gòu)typedefstruct_CONFIGURATION_DESCRIPTOR_STRUCT{BYTEbLength;????????????????????//設(shè)置描述符的字節(jié)數(shù)大小BYTEbDescriptorType;????????????????//設(shè)置描述符類型編號WORDwTotalLength;??????????????????//此設(shè)置返回的所有數(shù)據(jù)大小BYTEbNu
8、mInte