描述:
首先,我说说我对枚举过程的理解。
1. Get Descriptor :device descriptor.
2. Set Address
3. Get Descriptor again by the new address.
4. Get Configuration Descriptor using the configuration descriptor size.
5. Set Configuration
6. Get Configuration Descriptor again using the configuration descriptor size.
7. Get Configuration Descriptor using the total length of the entire descriptor.
目前,我的firmware程序可以枚举到第四步,但不能set configuration.
用bus hound 抓取得数据也显示我发送的descriptor 都正确并且set address也正确。
请高人指点。
Bus hound部分数据如下:
14.0 CTL 80 06 00 01 GET DESCRIPTOR 13.1.0 10us 02:22:02.294
00 00 40 00 13.1.4
14.0 DI 12 01 10 01 .... 13.2.0 4.8ms 02:22:02.299
00 00 00 10 .... 13.2.4
71 04 22 02 q.". 13.2.8
13 01 00 00 .... 13.2.12
......
14.0 CTL 00 05 02 00 SET ADDRESS 19.1.0 31ms 02:22:02.403
00 00 00 00 19.1.4
......
14.0 CTL 80 06 00 01 GET DESCRIPTOR 22.1.0 10us 02:22:02.419
00 00 12 00 22.1.4
14.0 DI 12 01 10 01 .... 22.2.0 4.9ms 02:22:02.424
00 00 00 10 .... 22.2.4
71 04 22 02 q.". 22.2.8
13 01 00 00 .... 22.2.12
00 01 .. 22.2.16
......
14.0 CTL 80 06 00 02 GET DESCRIPTOR 23.1.0 15us 02:22:02.424
00 00 09 00 23.1.4
14.0 DI 09 02 20 00 .. . 23.2.0 3.9ms 02:22:02.428
&