6634|0

6

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

USB Unicode 字符串描述符生成器 [复制链接]

USB_Unicode_Descriptor_Code_Gen.zip (12.77 KB, 下载次数: 274)

 

关于字符串描述符

 

  字符串描述符是一种可选的USB标准描述符,描述了如制商、设备名称或序列号等信息。如果一个设备无字符串描述符,则其它描述符中与字符串有关的索引值都必须为0。字符串使用的是Unicode编码。

 

  主机请示得到某个字符串描述符时一般分成两步:首先主机向设备发出USB标准命令Get_Descriptor,其中所使用的字符串的索引值为0,设备返回一个字符串描述符,此描述符的结构如下:

 

表14、USB字符串描述符(响应主机请求时返回的表示语言ID的字符串描述符)

偏移量

大小

     描述

0

bLength

1

N+2

此描述表的字节数

1

bDescriptorType

1

常量

字串描述表类型(此处应为0x03)

2

wLANGID[0]

2

数字

语言标识(LANGID)
码0

     

N

wLANGID[x]

2

数字

语言标识(LANGID)
码X

 

  该字符串描述符双字节的语言ID的数组,wLANGID[0]~wLANGID[x]指明了设备支持的语言,具体含义可查看USB_LANGIDs.pdf

 

  主机根据自己需要的语言,再次向设备发出USB标准命令Get_Descriptor,指明所要求得到的字符串的索引值和语言。这次设备所返回的是Unicode编号的字符串描述符,其结构如下:

 

表15、Unicode字符串描述符(响应主机请求时真正表示字符串编码的字符串描述符)

偏移量

大小

描述

0

bLength

1

数字

此描述表的字节数(bString域的数值N+2)

1

bDescriptorType

1

常量

字串描述表类型(此处应为0x03)

2

bString

N

数字

UNICODE 编码的字串

 

  bString域为设备实际返回的以UNICODE编码的字符串流,我们在编写设备端硬件驱动的时候需要将字符串转换为UNICODE编码,您可以通过一些UNICODE转换工具进行转换。这里推荐由百合电子工作室开发的一款USB描述符生成工具“USB Unicode 字符串描述符生成器”,它专门为编写设备端驱动程序的需要而定制,可以非常方便将您需要的字符串转换成UNICODE格式,进而导入您的C或汇编程序代码中,以下是它的界面:

 

USB Unicode 字符串描述符生成器-生成C语言格式

 

 

USB Unicode 字符串描述符生成器-生成汇编格式

 

 

此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表