您的位置 首页 芯闻

USB协议深入分析 字符串描述符

上一次说到把配置描述符返回给主控器那里了,现在接着下来,就会收到主控器发来字符串描述符。如果在设备描述符那里指定没有字符串描述的话

上一次提到把装备描绘符回来给主控器那里了,现在接着下来,就会收到主控器发来字符串描绘符。假如在设备描绘符那里指定没有字符串描绘的话,在这儿是不会收到字符串描绘符的。因为我在设备描绘符里指定有字符串描绘符的偏移地址,因而,就收到主控器宣布恳求字符串描绘符。收到的数据如下:

80 06 00 03 00 00 FF 00
bmRequestType是80,表明方向USB设备发送给主控器,接纳设备是USB设备。
bRequest是06,表明这是获取描绘符。GET_DESCRIPTOR 6
wValue是00 03。低字节表明偏移地址00,高字节表明描绘符的类型,如下:
STRING3
wIndex是00 00。
wLength是FF 00。它表明回来描绘符的长度。这儿是256个字节。
因而,这个获取字符串描绘符,便是从字符串描绘内存里,0偏移地址开端的方位读取第一个字符串描绘符回来给主控器。接着就回来下面的数据给主控器:
04 03 09 04
上面的数据是按字符串描绘符来安排的,它的结构,我界说结构如下:
typedefstruct_USB_STRING_DESCRIPTOR{
BYTEbLength;
BYTEbDescriptorType;
WORDbString;
}USB_STRING_DESCRIPTOR;
bLength是一切数据的长度。在这儿是4。
bDescriptorType是描绘类型,这儿字符串描绘符,所以它是3。
bString是可变的字符数组。不超越254个应都可以的,而且它是运用UNICODE编码的字符串。在这儿是09 04,这是美国英语的标识,0x0409。假如想输入中文的标识,只需改为0x0804就可以了。
经过这个字符串描绘符,主控器就知道字符串描绘符是运用什么言语阐明的了,这样就可以支撑全世界的言语标识。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/256397.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部