USB论坛-百合电子工作室USB专题站

标题: 关于USB键盘的问题 向高手请教 [打印本页]

作者: passionyg    时间: 2013-4-2 10:16
标题: 关于USB键盘的问题 向高手请教
我是用ISP1362做一个模拟键盘

现在发现有如下些问题和疑问:

1.枚举的前面过程都是正确的,通过device monitor的数据包分析确定前面传送的数据包是正确的,但是当程序到了最后一步,即传送report描述符后程序却进入了bus reset处理,之后就是不停的循环前面过程,一直停不下来。

2.我想知道一个正常的程序如果是传送report描述符以后应当进入什么状态,难道是idle?


作者: baiheee    时间: 2013-4-2 10:43
1、一般USB设备未对主机命令(或请求)作出正确回应会引起总线复位(bus reset),所以在传送完report后,主机肯定还有命令传过来。

2、主机请求完报告描述符后,并不一定会进入idle状态,但一定会向设备发送一个Set_Configuration命令用于激活此设备,设备必须对这一命令作出一个响应,如果主机发来的配置值(配置描述符里可以定义多个配置的)在设备中不存在的话应返回STALL握手包,否则返回ACK扎手包。

一般USB数据监视软件不会捕捉Set_Configuration命令以及STALL、ACK等状态包,或者需要经过其它设置才会捕捉,所以您会误以为传送完报告描述符后整个枚举过程就完了。
作者: passionyg    时间: 2013-4-3 10:46
baiheee 发表于 2013-4-2 10:43
1、一般USB设备未对主机命令(或请求)作出正确回应会引起总线复位(bus reset),所以在传送完report后,主 ...

谢谢,确实是没有对set_configuration命令进行解析所致!




欢迎光临 USB论坛-百合电子工作室USB专题站 (http://usb.baiheee.com/usb_bbs/) Powered by Discuz! X2.5