主機(jī)是通過標(biāo)準(zhǔn)的USB請(qǐng)求命令中的GET_DESCRIPTOR獲得一個(gè)USB設(shè)備屬性的描述符的。關(guān)于Descriptor即描述符,是一個(gè)完整的數(shù)據(jù)結(jié)構(gòu),可以通過C語言等編程實(shí)現(xiàn),并存儲(chǔ)在USB設(shè)備中,用于描述一個(gè)USB設(shè)備的所有屬性。它的作用就是通過響應(yīng)主機(jī)的請(qǐng)求命令操作來給主機(jī)傳遞信息,從而讓主機(jī)知道設(shè)備具有什么功能、屬于哪一類設(shè)備、要占用多少帶寬、使用哪類傳輸方式及數(shù)據(jù)量的大小,只有主機(jī)確定了這些信息,并為設(shè)備分配資源后,設(shè)備才能真正開始工作。標(biāo)準(zhǔn)的描述符有5種,USB為這些描述符定義了編號(hào): 1——設(shè)備描述符 2——配置描述符 3——字符描述符 4——接口描述符 5——端點(diǎn)描述符 一個(gè)設(shè)備只有一個(gè)設(shè)備描述符,而一個(gè)設(shè)備描述符可以包含多個(gè)配置描述符,而一個(gè)配置描述符可以包含多個(gè)接口描述符,一個(gè)接口使用了幾個(gè)端點(diǎn),就有幾個(gè)端點(diǎn)描述符。這些描述符是用一定的字段構(gòu)成的,分別如下說明: struct_DEVICE_DEscriptOR_STRUCT 2.配置描述符 struct_CONFIGURATION_DEscriptOR_STRUCT 3.字符描述符 struct_STRING_DEscriptOR_STRUCT
struct_INTERFACE_DEscriptOR_STRUCT 5.端點(diǎn)描述符 struct_ENDPOINT_DescriptOR_STRUCT |
|