阅读:1234回复:6
枚举时发了九个描述符后就没动作了…为什么
请问一下大家,我目前在枚举时收到了Host发出来的的80,06,00,02,00,00,09,00
然后我发了09,02,27,00,01,01,00,80,32回去, 然后我用BusHound监看,发现他接下来就重复发送80,06,00,02,00,00,40,00,然后就停了 ,这是不是代表我前面那9个资料发错了啊??? 还是有其它的原因造成的错误??? 再请问一下大家, 我一直认为所谓的描述符是用来告知Host装置的能力,所以我一直以为除非是资料长度啦,或是Type错误之外, 并没有所谓的对错, 这样的观念对吗?? 我这个疑问是延续上面第一个疑问而来的, 麻烦大家了!! 还有第三个问题, 如果在使用BusHound时看到Host有反应第三个步骤, 那是不是代表前面第二个步骤是正确的, 以上三个问题, 非常谢谢谢谢的再麻烦大家。 |
|
沙发#
发布于:2003-05-16 11:07
请大侠们帮帮忙啊
|
|
板凳#
发布于:2003-05-16 14:43
你用的是16位的数据线还是8位的?
|
|
地板#
发布于:2003-05-16 15:35
8位的, 我刚刚设中断有收到
80,06,00,03,00,00,ff,00 可是为什么我用BusHound拦截不到啊 大家有遇到相同的问题吗?? 一头雾水迷糊中, 请大家帮帮忙 |
|
地下室#
发布于:2003-05-16 16:48
应该是80 06 00 02 00 00 ff 00 吧,那你里初步没举成功只差一步了,把你的全部配置描述符贴出来看看。
|
|
5楼#
发布于:2003-05-16 17:20
80 06 00 01 - 00 00 40 00 GET DESCRIPTOR
00 05 02 00 - 00 00 00 00 SET ADDRESS 80 06 00 01 - 00 00 12 00 GET DESCRIPTOR 12 01 01 00 - 00 00 00 10 ........ 80 06 00 02 - 00 00 09 00 GET DESCRIPTOR 09 02 27 00 - 01 01 00 80 ..\'..... <------Here 23 03 04 00 - 02 00 00 00 SET FEATURE 04 . a3 00 00 00 - 02 00 04 00 GET STATUS 03 01 10 00 .... 23 01 14 00 - 02 00 00 00 CLEAR FEATURE 80 06 00 01 - 00 00 40 00 GET DESCRIPTOR 20 01 00 c0 cancelled 然后再重复两次就死机了, 在Here的地方没有收到下一组命令, 这是代表我送错描述符所以没有响应吗?? 在楼上的楼上那帖子里我说有收到80,06,00,03,00,00,ff,00 我是真的收到这个值,而不是02,不过我觉得这个值是有问题的, 首先是我Host端看不到他有送这个值, 其次是我假定这个命令是对的, 然后送了一堆资料Cfg+EndPoint+…的描述符过去后, 我用BusHound仍然看不到有下一个步骤出现,而若我在D12这里设中断则收到的东西还是80,06,00,03,00,00,ff,00,所以我觉得这个值是有错的。 我在设定完Address之后送了18位的装置描述符00,12(长度),12,01,01,00,00,00,00,10,ab,05,60,00,06,11,49,5a,6e,01 然后又送了9个Configure的描述符 00,09,09,02,27,00,01,01,00,80,01 麻烦大家帮我看一下这描述符有错吗, 要怎幺改才能调通呢?? 因为我现在只是要枚举成功, 所以有没有那种 “试验阶段用的描述符” 可以让实验时来确认步骤没有问题 对了!! 再请问一下大家,Control In的过程应该是怎样啊 1. 若不足16位则送出16位 2. 若刚好16位则下一次Control In之后送一个空包 3. 若超过16位则送出16位 这样子对吗 ???? 求求大家了!!! |
|
6楼#
发布于:2003-05-16 18:25
肯定是你的描述符发送有错!
超过16要分几次来发送! |
|