mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2545回复:17

字符串描述符怎样用???????????????????????????????

楼主#
更多 发布于:2005-07-05 16:06
  问了好多问题,
好像都没人回答的,
有点失望!

有些问题可能对于大虾来说很简单,
但是对于新手而言却可能是一道坎,
一旦过了这道坎后面的路可能就好走了,
为什么大家不伸出友谊之手帮他们一把呢?

回了标题:
搜了一下,好像都没介绍,
书上也没详细说,只是简单的一笔带过,
各位知道的朋友请帮忙啊!!
tjjack
驱动牛犊
驱动牛犊
  • 注册日期2003-08-02
  • 最后登录2007-05-14
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-05 18:33
你说的我不太明白,你是不是说字符串如何定义呀?char   a[]={"ddddd","aaaa"},不知道是不是你要的
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-07-05 22:22
其实我是想问在程序中怎样调用它,

好像HOST没有专门的request来要求device送字符串描述符,

那我应该收到那个request的时候送字符串描述符给host?

然后在device descriptor 里面的那三个index(就是倒数第二三四个byte)到底是怎样用法?

看了半天还是不知所以然。

谢谢!
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-07-06 09:51
建议你仔细看看usb协议,特别是枚举那一块。先分清楚到底由谁来送字符串描述符。。。
Btune
驱动牛犊
驱动牛犊
  • 注册日期2002-02-20
  • 最后登录2008-09-24
  • 粉丝0
  • 关注0
  • 积分52分
  • 威望13点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-07-06 10:55
好像HOST没有专门的request来要求device送字符串描述符,

那我应该收到那个request的时候送字符串描述符给host?


驱动中有request要求device送字符串描述符, 使用UsbBuildGetDescriptorRequest可以构建这样的请求。

至于描述符的意义,请参考usb协议
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-07-06 21:23
OK, 是我的错,

本想懒一下不去看英文,

看来不下功夫是不行的,

谢谢各位,让我再去看看spec.

成不成功都会再来报个到。
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-07-07 17:28
不行啊!

看了SPEC. ,是在wValue的low byte 和wIndex 的值决定.

也按要求改过来了,

插上去的时候PC认不出啊,只是显示USB DEVICE,

用BUS HOUND 发命令:80,06,02,03,00,00,04,00, 可以收到04,03,09,04
                                :80,06,02,03,01,00,ff,00,可以收到相应的字符串,

但在设备管理器里就是显示不出来!!
晕死!!
大伙帮帮忙啊!
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-07-07 17:32
而且HOST根本没有发 request 要求 device 送字符串描述符!!
至少我在 Bus hound 中看不到这条命令.
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-07-08 09:47
STRING的收发用BUS HOUND是无法看到的,至少我的是这样的。设个断点不就知道主机是否发STRING request了?!会不会前面的GET DESCRIPTOR回报的数据有误
lhj117
驱动牛犊
驱动牛犊
  • 注册日期2004-07-26
  • 最后登录2008-10-24
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-07-08 14:23
给我一份把,谢谢
lhj117@126.com
我要去热海(伊塞克池)洗澡,夷波海(巴尔喀什湖)吟诗,北海(贝加尔湖)牧羊,库页岛捕鱼
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-07-08 20:18
to templa: 是的,今天设断点看了,其实MCU已经收到相应的 request ,

BUS HOUND是不会显示这两条 request 的。

不过奇怪的是收到的两条request是这样的:
80,06,00,03,00,00,XX(好像是04),00
80,06,02,03,09,04,XX(好象是ff),00

第一条还好理解,
第二条中的wIndex为什么会是 09,04 呢?

我明明在 device descriptor 中定义的 string index 是 2 啊。

TO lhj117: 你是说BUS HOUND吗?网上有得下,找一下吧。
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-07-09 13:42
引用"我明明在 device descriptor 中定义的 string index 是 2 啊"
这个“2”,其实是“80 06 02 。。。。”的那个“02”呀。
你可以把“括号”和“好像是”拿掉,那样我的数据和你的一样了。
至于为何是09 04的话我也还在“埋头苦思”中,希望知道的大虾指点一二呀,我仔细看了协议的第八章,没有细致的说明,在哪里有解释的文件呢?
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-07-10 10:30
我明白了,那个09 04其实是 Language ID,
你查一下Unicode 的资料应该会有的, 09 04 代表的好像是American English,
不是很确定, 但应该八九不离十了。

唉,对USB还是不十分了解啊。
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-07-11 11:17
Language ID是0409这个我已经注意了,在第1个STRING REQUEST的回应就是要回送这个。它怎么就会出现在第2个REQUEST?理论根据在什么地方呢!都做完了可还是糊里糊涂的,惭愧呀!
mmxzws
驱动牛犊
驱动牛犊
  • 注册日期2005-06-14
  • 最后登录2005-07-13
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-07-11 21:36
你再仔细看看specification,

当host要求device return string descriptor 时,wIndex 里的内容就是language ID,
当然第一个string request 例外。
如果要求是其它descriptor,wIndex 里就是00 00.
templa
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2013-03-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-07-12 08:54
再次谢谢MMXZWS,确实有相关描述,只是我的是中文直译本,表达得不是很清楚。继续努力吧!
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-07-15 21:37
BUS HOUND怎么用,有新手入门之类的资料或网上哪有可以告诉一下吗
天涯
angleliu
驱动牛犊
驱动牛犊
  • 注册日期2005-04-30
  • 最后登录2005-08-25
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-07-15 21:40
BUS HOUND怎么用,有入门资料或是网上哪又能告诉一下吗
天涯
游客

返回顶部