在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>接口定義>

Descriptor描述符解釋 - 全文

2011年07月16日 09:39 電子發燒友 作者:葉子 用戶評論(0

?

  在標準的USB請求命令中,經常會看到Descriptor,這是什么來的呢?

  Descriptor即描述符,是一個完整的數據結構,可以通過C語言編程實現,并存儲在USB設備中,用于描述一個USB設備的所有屬性,USB主機是通過一系列命令來要求設備發送這些信息的。它的作用就是通過如問答節中的命令***作來給主機傳遞信息,從而讓主機知道設備具有什么功能、屬于哪一類設備、要占用多少帶寬、使用哪類傳輸方式及數據量的大小,只有主機確定了這些信息之后,設備才能真正開始工作,所以描述符也是十分重要的部分,要好好掌握。標準的描述符有5種,USB為這些描述符定義了編號:

  1——設備描述符

  2——配置描述符

  3——字符描述符

  4——接口描述符

  5——端點描述符

  上面的描述符之間有一定的關系,一個設備只有一個設備描述符,而一個設備描述符可以包含多個配置描述符,而一個配置描述符可以包含多個接口描述符,一個接口使用了幾個端點,就有幾個端點描述符。這間描述符是用一定的字段構成的,分別如下說明:

  1、設備描述符

  struct _DEVICE_DEscriptOR_STRUCT

  {

  BYTE bLength; //設備描述符的字節數大小,為0x12

  BYTE bDescriptorType; //描述符類型編號,為0x01

  WORD bcdUSB; //USB版本號

  BYTE bDeviceClass; //USB分配的設備類代碼,0x01~0xfe為標準設備類,0xff為廠商自定義類型

  //0x00不是在設備描述符中定義的,如HID

  BYTE bDeviceSubClass; //usb分配的子類代碼,同上,值由USB規定和分配的

  BYTE bDeviceProtocl; //USB分配的設備協議代碼,同上

  BYTE bMaxPacketSize0; //端點0的最大包的大小

  WORD idVendor; //廠商編號

  WORD idProduct; //產品編號

  WORD bcdDevice; //設備出廠編號

  BYTE iManufacturer; //描述廠商字符串的索引

  BYTE iProduct; //描述產品字符串的索引

  BYTE iSerialNumber; //描述設備序列號字符串的索引

  BYTE bNumConfiguration; //可能的配置數量

  }

  2、配置描述符

  struct _CONFIGURATION_DEscriptOR_STRUCT

  {

  BYTE bLength; //設備描述符的字節數大小,為0x12

  BYTE bDescriptorType; //描述符類型編號,為0x01

  WORD wTotalLength; //配置所返回的所有數量的大小

  BYTE bNumInterface; //此配置所支持的接口數量

  BYTE bConfigurationVale; //Set_Configuration命令需要的參數

  BYTE iConfiguration; //描述該配置的字符串的索引值

  BYTE bmAttribute; //供電模式的選擇

  BYTE MaxPower; //設備從總線提取的最大電流

  }

  3、字符描述符

  struct _STRING_DEscriptOR_STRUCT

  {

  BYTE bLength; //設備描述符的字節數大小,為0x12

  BYTE bDescriptorType; //描述符類型編號,為0x01

  BYTE SomeDescriptor[36]; //UNICODE編碼的字符串

  }

  4、接口描述符

  struct _INTERFACE_DEscriptOR_STRUCT

  {

  BYTE bLength; //設備描述符的字節數大小,為0x12

  BYTE bDescriptorType; //描述符類型編號,為0x01

  BYTE bInterfaceNunber; //接口的編號

  BYTE bAlternateSetting;//備用的接口描述符編號

  BYTE bNumEndpoints; //該接口使用端點數,不包括端點0

  BYTE bInterfaceClass; //接口類型

  BYTE bInterfaceSubClass;//接口子類型

  BYTE bInterfaceProtocol;//接口所遵循的協議

  BYTE iInterface; //描述該接口的字符串索引值

  }

  5、端點描述符

  struct _ENDPOIN_DEscriptOR_STRUCT

  {

  BYTE bLength; //設備描述符的字節數大小,為0x12

  BYTE bDescriptorType; //描述符類型編號,為0x01

  BYTE bEndpointAddress; //端點地址及輸入輸出屬性

  BYTE bmAttribute; //端點的傳輸類型屬性

  WORD wMaxPacketSize; //端點收、發的最大包的大小

  BYTE bInterval; //主機查詢端點的時間間隔

  }

上一頁12全文

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:葉子 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 黄视频网站免费看 | 免费观看a黄一级视频 | 日日夜夜天天人人 | 伊人久久大香线蕉综合亚洲 | 99综合色| 38pao强力打造永久免费高清视频 | 色内内免费视频播放 | 米奇精品一区二区三区 | 久久手机视频 | 爽爽爽爽爽爽a成人免费视频 | www.淫.com| 直接观看黄网站免费视频 | videosgratis欧美另类老太 | 亚洲字幕久久 | 国产欧美乱码在线看 | 色天天网 | 五月天亚洲婷婷 | 2021国产精品久久 | 免费一级片在线 | 亚色综合 | 在线看逼 | 色播欧美 | 日本黄色短视频 | 欧美黑人巨大xxx猛交 | 2021最新久久久视精品爱 | 一级午夜 | 99热免费| 国产欧美综合在线 | 国产免费人人看大香伊 | 日本黄色大全 | 欧美高清免费一级在线 | 日本免费xxxx色视频 | 欧美一区二区三区视频 | 日韩一级一欧美一级国产 | 老湿影院免费体验区 | 色多多在线免费观看 | 四虎最新影院 | 国内一区二区 | 亚洲伦理一区二区三区 | 一区二区三区四区免费视频 | 无夜精品久久久久久 |