1、bmRequestType:D7D6D5D4D3D2D1D0
D7=0主機(jī)到設(shè)備
=1設(shè)備到主機(jī);
D6D5=00標(biāo)準(zhǔn)請(qǐng)求命令
=01 類請(qǐng)求命令
=10用戶定義的命令
=11保留值
D4D3D2D1D0=00000 接收者為設(shè)備
=00001 接收者為設(shè)備
=00010 接收者為端點(diǎn)
=00011 接收者為其他接收者
=其他 其他值保留
2、bRequest:請(qǐng)求命令代碼,在標(biāo)準(zhǔn)的USB命令中,每一個(gè)命令都定義了編號(hào),編號(hào)的值就為字段的值,編號(hào)與命令名稱如下(要注意這里的命令代碼要與其他字段結(jié)合使用,可以說命令代碼是標(biāo)準(zhǔn)請(qǐng)求命令代碼的核心,正是因?yàn)檫@些命令代碼而決定了11個(gè)USB標(biāo)準(zhǔn)請(qǐng)求命令):
0) 0 GET_STATUS:用來返回特定接收者的狀態(tài)
1) 1 CLEAR_FEATURE:用來清除或禁止接收者的某些特性
2) 3 SET_FEATURE:用來啟用或激活命令接收者的某些特性
3) 5 SET_ADDRESS:用來給設(shè)備分配地址
4) 6 GET_DEscriptOR:用于主機(jī)獲取設(shè)備的特定描述符
5) 7 SET_DEscriptOR:修改設(shè)備中有關(guān)的描述符,或者增加新的描述符
6) 8 GET_CONFIGURATION:用于主機(jī)獲取設(shè)備當(dāng)前設(shè)備的配置值(注同上面的不同)
7) 9 SET_CONFIGURATION:用于主機(jī)指示設(shè)備采用的要求的配置
8) 10 GET_INTERFACE:用于獲取當(dāng)前某個(gè)接口描述符編號(hào)
9) 11 SET_INTERFACE:用于主機(jī)要求設(shè)備用某個(gè)描述符來描述接口
10) 12 SYNCH_FRAME:用于設(shè)備設(shè)置和報(bào)告一個(gè)端點(diǎn)的同步幀
以上的11個(gè)命令要說得明白真的有一匹布那么長,請(qǐng)各位去看書吧,這里就不多說了,控制傳輸是USB的重心,而這11個(gè)命令是控制傳輸?shù)闹匦模赃@11個(gè)命令是重中之重,這個(gè)搞明白了,USB就算是入門了。
