阅读:2545回复:17
字符串描述符怎样用???????????????????????????????
问了好多问题,
好像都没人回答的, 有点失望! 有些问题可能对于大虾来说很简单, 但是对于新手而言却可能是一道坎, 一旦过了这道坎后面的路可能就好走了, 为什么大家不伸出友谊之手帮他们一把呢? 回了标题: 搜了一下,好像都没介绍, 书上也没详细说,只是简单的一笔带过, 各位知道的朋友请帮忙啊!! |
|
沙发#
发布于:2005-07-05 18:33
你说的我不太明白,你是不是说字符串如何定义呀?char a[]={"ddddd","aaaa"},不知道是不是你要的
|
|
板凳#
发布于:2005-07-05 22:22
其实我是想问在程序中怎样调用它,
好像HOST没有专门的request来要求device送字符串描述符, 那我应该收到那个request的时候送字符串描述符给host? 然后在device descriptor 里面的那三个index(就是倒数第二三四个byte)到底是怎样用法? 看了半天还是不知所以然。 谢谢! |
|
地板#
发布于:2005-07-06 09:51
建议你仔细看看usb协议,特别是枚举那一块。先分清楚到底由谁来送字符串描述符。。。
|
|
地下室#
发布于:2005-07-06 10:55
好像HOST没有专门的request来要求device送字符串描述符, 驱动中有request要求device送字符串描述符, 使用UsbBuildGetDescriptorRequest可以构建这样的请求。 至于描述符的意义,请参考usb协议 |
|
5楼#
发布于:2005-07-06 21:23
OK, 是我的错,
本想懒一下不去看英文, 看来不下功夫是不行的, 谢谢各位,让我再去看看spec. 成不成功都会再来报个到。 |
|
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,可以收到相应的字符串, 但在设备管理器里就是显示不出来!! 晕死!! 大伙帮帮忙啊! |
|
7楼#
发布于:2005-07-07 17:32
而且HOST根本没有发 request 要求 device 送字符串描述符!!
至少我在 Bus hound 中看不到这条命令. |
|
8楼#
发布于:2005-07-08 09:47
STRING的收发用BUS HOUND是无法看到的,至少我的是这样的。设个断点不就知道主机是否发STRING request了?!会不会前面的GET DESCRIPTOR回报的数据有误
|
|
9楼#
发布于:2005-07-08 14:23
给我一份把,谢谢
lhj117@126.com |
|
|
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吗?网上有得下,找一下吧。 |
|
11楼#
发布于:2005-07-09 13:42
引用"我明明在 device descriptor 中定义的 string index 是 2 啊"
这个“2”,其实是“80 06 02 。。。。”的那个“02”呀。 你可以把“括号”和“好像是”拿掉,那样我的数据和你的一样了。 至于为何是09 04的话我也还在“埋头苦思”中,希望知道的大虾指点一二呀,我仔细看了协议的第八章,没有细致的说明,在哪里有解释的文件呢? |
|
12楼#
发布于:2005-07-10 10:30
我明白了,那个09 04其实是 Language ID,
你查一下Unicode 的资料应该会有的, 09 04 代表的好像是American English, 不是很确定, 但应该八九不离十了。 唉,对USB还是不十分了解啊。 |
|
13楼#
发布于:2005-07-11 11:17
Language ID是0409这个我已经注意了,在第1个STRING REQUEST的回应就是要回送这个。它怎么就会出现在第2个REQUEST?理论根据在什么地方呢!都做完了可还是糊里糊涂的,惭愧呀!
|
|
14楼#
发布于:2005-07-11 21:36
你再仔细看看specification,
当host要求device return string descriptor 时,wIndex 里的内容就是language ID, 当然第一个string request 例外。 如果要求是其它descriptor,wIndex 里就是00 00. |
|
15楼#
发布于:2005-07-12 08:54
再次谢谢MMXZWS,确实有相关描述,只是我的是中文直译本,表达得不是很清楚。继续努力吧!
|
|
16楼#
发布于:2005-07-15 21:37
BUS HOUND怎么用,有新手入门之类的资料或网上哪有可以告诉一下吗
|
|
|
17楼#
发布于:2005-07-15 21:40
BUS HOUND怎么用,有入门资料或是网上哪又能告诉一下吗
|
|
|