5 標準的USB請求

2021-10-24 01:27:54 字數 1141 閱讀 6728

5、usb device requests

所有的usb裝置都會響應來自於主機預設控制管道的請求的,這些請求是使用控制傳輸傳送的,請求和請求的引數在setup packet包含,每個setup packet都有8個位元組.

著重說一下windex和wlength,前面兩個根據上表可以很容易理解.

當bmrequesttype的recipient欄位為介面或端點時,windex域用來表明是哪乙個介面或端結。

圖9-2顯示了用於指定端點時的windex格式。

圖9-3顯示了用於指定介面時的windex格式.

此欄位指定在控制傳輸的第二階段傳輸的資料的長度。資料傳輸的方向(主機到裝置或裝置到主機)由bmrequesttype欄位的方向位指示。如果該字段為零,則不存在資料傳輸階段。

對於輸入請求時,裝置絕不能返回超出wlength值指示的資料的資料。但它可以返回的更少。

對於輸出請求,wlength將始終指示主機要傳送的確切資料量。如果主機傳送的資料多於wlength中指定的資料,則裝置行為未定義。

5.1 標準裝置請求

usb裝置必須響應標準裝置請求,即使裝置還沒有被分配乙個位址或沒有被配置。

在usb2.0協議規範裡面規定了如下的請求.

5.2 標準請求碼(brequest)

5.3 描述符型別

5.4 常用請求

USB標準請求命令

標準的usb裝置請求命令是用在控制傳輸中的 初始設定步驟 裡的資料報階段 即data0,由八個位元組構成 標準usb裝置請求命令共有 11個,大小都是8個位元組,具有相同的結構,由5 個字段構成 欄位是標準請求命令的資料部分 結構如下 括號中的數字表示位元組數,首字 母bm,b,w分別表示位圖 位元...

2 USB標準請求

bmrequesttype 的d6 d5為00的請求,usb協議定義了11個標準請求 brequest 其名字與相應的brequest的值如下表 表3.5.3是各個標準請求的結構及需要傳輸的資料,常用的幾個請求有 get descriptor set address和set configuratio...

USB規範標準再更新

2月26日訊息 相信大家早已經熟悉了usb插口和標準的大命名,包括usb 3.0以及usb 3.1,只不過對於下屬的usb標準,或許十分地不解,畢竟大一統之後理論上大家都叫usb 3.1。例如在2013年7月份,usb 3.1發布之後,usb if將所有的usb 3.x都叫usb 3.1,包括usb...