日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

USB描述符

 chuanshaoke 2010-04-20

主機是通過標準的USB請求命令中的GET_DESCRIPTOR獲得一個USB設備屬性的描述符的。關于Descriptor即描述符,是一個完整的數(shù)據結構,可以通過C語言等編程實現(xiàn),并存儲在USB設備中,用于描述一個USB設備的所有屬性。它的作用就是通過響應主機的請求命令操作來給主機傳遞信息,從而讓主機知道設備具有什么功能、屬于哪一類設備、要占用多少帶寬、使用哪類傳輸方式及數(shù)據量的大小,只有主機確定了這些信息,并為設備分配資源后,設備才能真正開始工作。標準的描述符有5種,USB為這些描述符定義了編號:

1——設備描述符

2——配置描述符

3——字符描述符

4——接口描述符

5——端點描述符

一個設備只有一個設備描述符,而一個設備描述符可以包含多個配置描述符,而一個配置描述符可以包含多個接口描述符,一個接口使用了幾個端點,就有幾個端點描述符。這些描述符是用一定的字段構成的,分別如下說明:
1.設備描述符

struct_DEVICE_DEscriptOR_STRUCT
{
BYTE bLength;
BYTE bDescriptorType;
WORD bcdUSB;
BYTE bDeviceClass;
BYTE bDeviceSubClass;
BYTE bDeviceProtocl;
BYTE bMaxPacketSize0;
WORD idVendor;
WORD idProduct;
WORD bcdDevice;
BYTE iManufacturer;
BYTE iProduct;
BYTE iSeialNumber;
BYTE bNumConfiguration;
}

2.配置描述符

struct_CONFIGURATION_DEscriptOR_STRUCT
{
BYTE bLength;
BYTE bDescriptorType;
WORD wTotalLength;
BYTE bNumlnterface;
BYTE bConfigurationValue;
BYTE iConfiguration:
BYTE bmAttribute;
BYTE MaxPower;
}

3.字符描述符

struct_STRING_DEscriptOR_STRUCT
{
BYTE bLength;
BYTE bDescriptorType;
BYTE SomeDes criptor[36];
}


4.接口描述符

struct_INTERFACE_DEscriptOR_STRUCT
{
BYTE bLength;
BYTE bDescriptorType;
BYTE bInterfaceNumber;
BYTE bAlternateSetting;
BYTE bNumEndpoints:
BYTE bInterfaceSubClass;
BYTE bInterfaceProtocol;
BYTE iInterface;
}

5.端點描述符

struct_ENDPOINT_DescriptOR_STRUCT
{
BYTE bLength;
BYTE bDescriptorType;
BYTE bEndpointAddress;
BYTE bmAttribute;
WORD wMaxPacketSize;
BYTE bInterval;
}

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多