標準的USB設備請求命令

標準的USB設備請求命令是用在控制傳輸中的「初始設置步驟」裏的數據包階段(即DATA0,由八個字節構成),請看回問答四的內容。標準USB設備請求命令共有11個,大小都是8個字節,具備相同的結構,由5個字段構成(字段是標準請求命令的數據部分),結構以下(括號中的數字表示字節數,首字母bm,b,w分別表示位圖、字節,雙字節):spa

bmRequestType(1)+bRequest(1)+wvalue(2)+wIndex(2)+wLength(2)接口

 

各字段的意義以下:ip

 

一、bmRequestType:D7D6D5D4D3D2D1D0同步

 

D7=0主機到設備入門

 

=1設備到主機;class

 

D6D5=00標準請求命令配置

 

     =01 類請求命令請求

 

     =10用戶定義的命令    問答

 

=11保留值數據

 

D4D3D2D1D0=00000 接收者爲設備

 

            =00001 接收者爲設備

 

            =00010 接收者爲端點

 

            =00011 接收者爲其餘接收者

 

            =其餘  其餘值保留

 

二、bRequest:請求命令代碼,在標準的USB命令中,每個命令都定義了編號,編號的值就爲字段的值,編號與命令名稱以下(要注意這裏的命令代碼要與其餘字段結合使用,能夠說命令代碼是標準請求命令代碼的核心,正是由於這些命令代碼而決定了11個USB標準請求命令):

 

0) 0  GET_STATUS:用來返回特定接收者的狀態

 

1) 1  CLEAR_FEATURE:用來清除或禁止接收者的某些特性

 

2) 3  SET_FEATURE:用來啓用或激活命令接收者的某些特性

 

3) 5  SET_ADDRESS:用來給設備分配地址

 

4) 6  GET_DEscriptOR:用於主機獲取設備的特定描述符

 

5) 7  SET_DEscriptOR:修改設備中有關的描述符,或者增長新的描述符

 

6) 8  GET_CONFIGURATION:用於主機獲取設備當前設備的配置值(注同上面的不一樣) 

 

7) 9  SET_CONFIGURATION:用於主機指示設備採用的要求的配置

 

8) 10  GET_INTERFACE:用於獲取當前某個接口描述符編號

 

9) 11  SET_INTERFACE:用於主機要求設備用某個描述符來描述接口

 

10) 12 SYNCH_FRAME:用於設備設置和報告一個端點的同步幀

11個命令是重中之重,這個搞明白了,USB就算是入門了.

相關文章
相關標籤/搜索