最終更新:2014-12-17 (水) 17:42:10 (1559d)  

GET_DESCRIPTOR はてなブックマークを見る
Top / GET_DESCRIPTOR

USB/標準リクエストbRequest = 0x06

使い方

リクエストの構造

  • オフセットフィールドサイズ説明
    0bmRequestType1ビットマップリクエストの性質を表す
    1bRequest1Valueリクエスト(GET_DESCRIPTORは0x06)
    2wValue2Valueディスクリプタの種類とディスクリプタのインデックス
    4wIndex2Index or Offsetゼロもしくは言語ID
    6wLength2Countディスクリプタ長

bmRequestType

  • リクエストの性質を表す
    ビット意味
    7データ転送方向0: ホストからデバイス
    1: デバイスからホスト
    6リクエストタイプ0: 標準リクエスト
    1: クラスリクエスト
    2: ベンダリクエスト?
    3: Reserved
    5
    4リクエストの対象0: デバイス
    1: インターフェイス
    2: エンドポイント
    3: Other
    4~31: Reserved
    3
    2
    1
    0

wValue

  • ディスクリプタの種類とインデックス
    MSBLSB
    ディスクリプタの種類(bDescriptorTypeと同じ)ディスクリプタのインデックス(複数の同じディスクリプタがあった時用)

wIndex

  • 言語ID(ストリングディスクリプタ用)か0x00(未指定)

bDescriptorType

USB/標準ディスクリプタ

USB 2.0で追加

標準以外のディスクリプタ

USB 2.0のECNとかで追加

USB 3.0で追加

  • SUPERSPEED_USB_ENDPOINT_COMPANION?0x30Burst転送最大長

USB/クラスディスクリプタ

指定できるディスクリプタ

  • 本によって書いてあることが微妙に違った。

参考図書/USBコンプリート

参考図書/USB 3.0設計のすべて

参考