我用CH372的开发板做实验,就是开发板作为USB设备与PC通信.使用外部固件模式,用EP2收发数据都是没有问题的.
现在我想用EP1收发数据,请问PC端的程序如何更改?
另外一个问题: a3 00 00 00 02 00 04 00 GET STATUS 这个A3表示的命令是自定义的,哪有这个命令的解释?
请赐教.
我用CH372的开发板做实验,就是开发板作为USB设备与PC通信.使用外部固件模式,用EP2收发数据都是没有问题的.
现在我想用EP1收发数据,请问PC端的程序如何更改?
另外一个问题: a3 00 00 00 02 00 04 00 GET STATUS 这个A3表示的命令是自定义的,哪有这个命令的解释?
请赐教.
没人回答............
是不是我的问题太低级了,不屑回答?
PC端用CH375ReadInter代替CH375ReadData A3等数据要参考USB规范中的定义,一两句讲不清
Device Phase Data Description Delta Cmd.Phase.Ofs(rep) ------ ----- ------------------------ ---------------- ----- ------------------ 7.0 CTL 23 01 01 00 02 00 00 00 CLEAR FEATURE 3.1sc 1.1.0 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 63us 2.1.0 7.0 DI 00 01 00 00 .... 23us 2.2.0 7.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 15us 3.1.0(2) 7.0 DI 01 01 00 00 .... 17us 3.2.0 7.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 120ms 5.1.0 7.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 31ms 6.1.0 7.0 DI 03 01 10 00 .... 26us 6.2.0 7.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 6us 7.1.0 7.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 31ms 8.1.0(2) 7.0 DI 03 01 00 00 .... 35us 8.2.0 7.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 67ms 10.1.0 7.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 26ms 11.1.0 7.0 DI 03 01 10 00 .... 23us 11.2.0 7.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 5us 12.1.0 7.0 CTL 80 06 00 02 00 00 ff 00 GET DESCRIPTOR 158ms 13.1.0 7.0 DI 09 02 27 00 01 01 00 80 ..'..... 273ms 13.2.0 40 09 04 00 00 03 ff 80 @....... 13.2.8 37 00 07 05 82 02 40 00 7.....@. 13.2.16 00 07 05 02 02 40 00 00 .....@.. 13.2.24 07 05 81 03 08 00 01 07 ........ 13.2.32 05 01 02 08 00 00 04 03 ........ 13.2.40 09 04 12 03 43 00 48 00 ....C.H. 13.2.48 33 00 37 00 35 00 55 00 3.7.5.U. 13.2.56 53 00 42 00 a3 00 00 00 S.B..... 13.2.64 01 00 04 00 a3 00 00 00 ........ 13.2.72 02 00 04 00 23 01 10 00 ....#... 13.2.80 02 00 00 00 a3 03 04 00 ........ 13.2.88 02 00 00 00 80 06 00 02 ........ 13.2.96 00 00 ff 00 e5 72 60 46 .....r`F 13.2.104 d3 94 08 50 08 85 72 69 ...P..ri 13.2.112 e4 f5 72 80 09 75 69 ..r..ui 13.2.120 7.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 36ms 14.1.0 7.0 DI 03 01 00 00 .... 45us 14.2.0 22.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 33ms 15.1.0 22.0 DI 09 02 27 00 01 01 00 80 ..'..... 21ms 15.2.0 40 @ 15.2.8 22.0 CTL 80 06 00 02 00 00 27 00 GET DESCRIPTOR 24us 16.1.0 22.0 DI 09 02 27 00 01 01 00 80 ..'..... 85ms 16.2.0 40 09 04 00 00 03 ff 80 @....... 16.2.8 37 00 07 05 82 02 40 00 7.....@. 16.2.16 00 07 05 02 02 40 00 00 .....@.. 16.2.24 07 05 81 03 08 00 01 ....... 16.2.32 22.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 22us 17.1.0
成功枚举的数据是这样的.
这是通过Bus Hound 抓到的。
我是想知道CH372到MCU的数据。
实际上如果使用内置固件的话,那么,你只需将单片机直接给372设置模式2之后,计算机就能按照你上面所说的枚举到设备。
这个过程是我用你们的外部固件的例程得到的。
像SET_Address,都没有显示。我想知道从CH372和MCU间的数据。能否提供下
你所说的单片机和372之间的数据到底是指的什么?是传输的数据还是单片机端的程序
有的数据Bus Hound 是抓不到的,您在获取描述符的时候,有时候PC机能发送好多次要求获取描述符,但是您在Bush Hound 里面只能看到一次,如果您想要看数据,建议您采用串口向外发送数据,这样一来你就可以看到您想看到的数据了!
是的,有的数据Bus Hound是抓不到得。如果有USB分析仪就好了。 我已经用串口向外发数据,正在看发回的数据。 我想仔细研究下枚举的过程,方便以后开发。
在此,谢谢三位的回复。如果有问题,我再发贴。