怎样才能使设备在XP下只发出MOUSE的报告,在WIN8下发单点和多点触控的报告这两周利用公司的微控制器操作MAX3420E枚举成PC上的设备,遇到问题,利用BUS HOUND软件抓到调试信息如下:
Bus Hound 6.01 capture on Windows XP Service Pack 3 (x86). Complements of www.youerw.com
Device - Device ID (followed by the endpoint for USB devices)
(29) USB 人体学输入设备
(31) USB 人体学输入设备
(33) Unknown Device
(34) USB 人体学输入设备
(35) HID-compliant mouse
Address - FireWire async address or channel number
Length - Total transfer length
Phase - Phase Type
CTL USB control transfer
IN Data in transfer
USTS USB status
Data - Hex dump of the data transferred
Descr - Description of the phase
Delta - Elapsed time from the previous phase to the current phase
Cmd... - Position in the captured data
Driver - Driver that submitted the command
usbhub : Default Hub Driver for USB 5.1.2600.5512 (xpsp.080413-2108)
hidusb : USB Miniport Driver for Input Devices 5.1.2600.5512 (xpsp.080413-2108)
Cmd.Phase
Device Address Length Phase Data Description Delta .Ofs(rep) Driver
------ ------- ----- ----- ------------------------ -------------- ----- --------- ------
31.0 CTL 80 06 00 03 00 00 ff 00 GET DESCRIPTOR 29mn 1.1.0(2) usbhub
31.0 4 IN 04 03 09 04 .... 4.6ms 1.2.0
31.0 CTL 80 06 02 03 09 04 ff 00 GET DESCRIPTOR 18us 2.1.0(2) usbhub
31.0 24 IN 18 03 4d 00 41 00 58 00 ..M.A.X. 4.9ms 2.2.0
33 00 34 00 32 00 30 00 3.4.2.0. 2.2.8
45 00 20 00 45 00 6e 00 E. .E.n. 2.2.16
31.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 16ms 5.1.0 hidusb
31.0 18 IN 12 01 10 01 00 00 00 40 .......@ 3.3ms 5.2.0
6a 0b 46 53 34 12 01 02 j.FS4... 5.2.8
03 01 .. 5.2.16
31.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 16us 6.1.0 hidusb
31.0 9 IN 09 02 22 00 01 01 00 80 .."..... 3.9ms 6.2.0
32 2 6.2.8
31.0 CTL 80 06 00 02 00 00 22 00 GET DESCRIPTOR 16us 7.1.0 hidusb
31.0 34 IN 09 02 22 00 01 01 00 80 .."..... 7.9ms 7.2.0
32 09 04 00 00 01 03 00 2....... 7.2.8
00 00 09 21 10 01 00 01 ...!.... 7.2.16
22 1d 00 07 05 83 03 40 "......@ 7.2.24
00 0a .. 7.2.32
31.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 17us 8.1.0 hidusb
31.0 CTL 21 0a 00 00 00 00 00 00 SET IDLE 19ms 9.1.0 hidusb
31.0 USTS c0000004 stall pid 3.0ms 9.2.0
31.0 CTL 81 06 00 22 00 00 5d 00 GET DESCRIPTOR 19us 10.1.0(3) hidusb
31.0 USTS c0000005 no response 8.9ms
由上面的信息可以看到,枚举到了最后也就是获取报告描述符这块就进行不下去了。直接报“no response”的错!!
枚举十次只能成功一两次,七八次都是这样,超级不稳定。按理说,我前面在响应主机获取设备,配置等描述符的时候都成功了,为什么这次发送29个字节就不稳定不响应了呢???我通过点灯调试看到设备这边确实发出了报告描述符啊!!
工作电流不稳定,漂移严重
导致偶尔能枚举成功,,多数情况下枚举不OK了。。。。
还有就是D+, 还是D- 那边有电阻注意一下,好像要13K,还是3K的