打印

调试COMPUTER 00 的USB键盘的问题!

[复制链接]
1982|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小李志|  楼主 | 2007-9-7 22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我把COMPUTER 00的键盘试了一下,发现电脑不识别,串口返回信息如下:
系统启动................................
断开USB连接.....
...................
USBD12芯片初始化
   设置地址.....................
       地址为:  
0
连接USB...............
USB总线复位................................
USB总线挂起................................

USB总线复位................................

USB总线挂起................................

USB总线复位................................
USB标准请求................................
    获取描述符.............
...................
        获取设备描述符................................
USB总线复位................................
USB标准请求................................
   设置地址..............
.......
       地址为:  1

USB总线复位................................

USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB总线复位................................

USB标准请求................................
   设置地址.....................
       地址为:  1

USB总线复位................................
USB标准请求................................
    获取描
龇?...............................
        获取设备描述符................................
USB总线复位................................

USB标准请求................................
   设置地址.....................
       地址为:  1
而BUS HOUND返回信息如下:
Device - Device ID (followed by the endpoint for USB devices)
            (9) USB Root Hub
           
  Phase  - Phase Type
            CTL   USB control transfer       
            DI    Data in                    
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data


Device  Phase  Data                                                Description       Cmd.Phase.Ofs(rep)
------  -----  --------------------------------------------------  ----------------  ------------------
  12.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS               1.1.0(2)     
  12.0  DI     01 05 01 00                                         ....                     1.2.0        
  12.0  CTL    23 01 10 00  07 00 00 00                            CLEAR FEATURE            3.1.0        
  12.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS               4.1.0        
  12.0  DI     00 05 00 00                                         ....                     4.2.0        
  12.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS               5.1.0        
  12.0  DI     00 05 00 00                                         ....                     5.2.0        
  12.0  CTL    a3 00 00 00  03 00 04 00                            GET STATUS               6.1.0        
  12.0  DI     00 05 00 00                                         ....                     6.2.0        
  12.0  CTL    a3 00 00 00  04 00 04 00                            GET STATUS               7.1.0        
  12.0  DI     00 05 00 00                                         ....                     7.2.0        
  12.0  CTL    a3 00 00 00  05 00 04 00                            GET STATUS               8.1.0        
  12.0  DI     00 05 00 00                                         ....                     8.2.0        
  12.0  CTL    a3 00 00 00  06 00 04 00                            GET STATUS               9.1.0        
  12.0  DI     00 05 00 00                                         ....                     9.2.0        
  12.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              10.1.0(2)     
  12.0  DI     01 05 00 00                                         ....                    10.2.0        
  12.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             12.1.0        
  12.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              13.1.0        
  12.0  DI     00 85 11 00                                         ....                    13.2.0        
  12.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           14.1.0        
  12.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              15.1.0(3)     
  12.0  DI     00 85 01 00                                         ....                    15.2.0        
  12.0  CTL    23 01 10 00  07 00 00 00                            CLEAR FEATURE           18.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              19.1.0(2)     
   9.0  DI     01 01 01 00                                         ....                    19.2.0        
   9.0  CTL    23 01 10 00  07 00 00 00                            CLEAR FEATURE           21.1.0        
  12.0  CTL    a3 00 00 00  08 00 04 00                            GET STATUS              22.1.0        
  12.0  DI     00 05 00 00                                         ....                    22.2.0        
  12.0  CTL    a3 00 00 00  09 00 04 00                            GET STATUS              23.1.0        
  12.0  DI     00 85 00 00                                         ....                    23.2.0        
  12.0  CTL    a3 00 00 00  0a 00 04 00                            GET STATUS              24.1.0        
  12.0  DI     00 05 00 00                                         ....                    24.2.0        
   9.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS              25.1.0        
   9.0  DI     00 01 00 00                                         ....                    25.2.0        
   9.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS              26.1.0        
   9.0  DI     00 01 00 00                                         ....                    26.2.0        
   9.0  CTL    a3 00 00 00  03 00 04 00                            GET STATUS              27.1.0        
   9.0  DI     00 01 00 00                                         ....                    27.2.0        
   9.0  CTL    a3 00 00 00  04 00 04 00                            GET STATUS              28.1.0        
   9.0  DI     00 01 00 00                                         ....                    28.2.0        
   9.0  CTL    a3 00 00 00  05 00 04 00                            GET STATUS              29.1.0        
   9.0  DI     00 01 00 00                                         ....                    29.2.0        
   9.0  CTL    a3 00 00 00  06 00 04 00                            GET STATUS              30.1.0        
   9.0  DI     00 01 00 00                                         ....                    30.2.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              31.1.0(2)     
   9.0  DI     01 01 00 00                                         ....                    31.2.0        
   9.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             33.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              34.1.0        
   9.0  DI     03 01 10 00                                         ....                    34.2.0        
   9.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           35.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              36.1.0(2)     
   9.0  DI     03 01 00 00                                         ....                    36.2.0        
   9.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             38.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              39.1.0        
   9.0  DI     03 01 10 00                                         ....                    39.2.0        
   9.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           40.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              41.1.0        
   9.0  DI     03 01 00 00                                         ....                    41.2.0        
   9.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             42.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              43.1.0        
   9.0  DI     03 01 10 00                                         ....                    43.2.0        
   9.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           44.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              45.1.0        
   9.0  DI     03 01 00 00                                         ....                    45.2.0        
   9.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             46.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              47.1.0        
   9.0  DI     03 01 10 00                                         ....                    47.2.0        
   9.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           48.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              49.1.0        
   9.0  DI     03 01 00 00                                         ....                    49.2.0        
   9.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             50.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              51.1.0        
   9.0  DI     03 01 10 00                                         ....                    51.2.0        
   9.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           52.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              53.1.0        
   9.0  DI     03 01 00 00                                         ....                    53.2.0        
   9.0  CTL    23 03 04 00  07 00 00 00                            SET FEATURE             54.1.0        
   9.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              55.1.0        
   9.0  DI     03 01 10 00                                         ....                    55.2.0        
   9.0  CTL    23 01 14 00  07 00 00 00                            CLEAR FEATURE           56.1.0        
   9.0  CTL    23 01 01 00  07 00 00 00                            CLEAR FEATURE           57.1.0        
   9.0  CTL    a3 00 00 00  08 00 04 00                            GET STATUS              58.1.0        
   9.0  DI     00 01 00 00                                         ....                    58.2.0        
   9.0  CTL    a3 00 00 00  09 00 04 00                            GET STATUS              59.1.0        
   9.0  DI     03 01 00 00                                         ....                    59.2.0        
   9.0  CTL    a3 00 00 00  0a 00 04 00                            GET STATUS              60.1.0        
   9.0  DI     00 01 00 00                                         ....                    60.2.0        
  12.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS              61.1.0        
  12.0  DI     00 05 00 00                                         ....                    61.2.0        
  12.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS              62.1.0        
  12.0  DI     00 05 00 00                                         ....                    62.2.0        
  12.0  CTL    a3 00 00 00  03 00 04 00                            GET STATUS              63.1.0        
  12.0  DI     00 05 00 00                                         ....                    63.2.0        
  12.0  CTL    a3 00 00 00  04 00 04 00                            GET STATUS              64.1.0        
  12.0  DI     00 05 00 00                                         ....                    64.2.0        
  12.0  CTL    a3 00 00 00  05 00 04 00                            GET STATUS              65.1.0        
  12.0  DI     00 05 00 00                                         ....                    65.2.0        
  12.0  CTL    a3 00 00 00  06 00 04 00                            GET STATUS              66.1.0        
  12.0  DI     00 05 00 00                                         ....                    66.2.0        
  12.0  CTL    a3 00 00 00  07 00 04 00                            GET STATUS              67.1.0        
  12.0  DI     00 85 00 00                                         ....                    67.2.0        
  12.0  CTL    a3 00 00 00  08 00 04 00                            GET STATUS              68.1.0        
  12.0  DI     00 05 00 00                                         ....                    68.2.0        
  12.0  CTL    a3 00 00 00  09 00 04 00                            GET STATUS              69.1.0        
  12.0  DI     00 85 00 00                                         ....                    69.2.0        
  12.0  CTL    a3 00 00 00  0a 00 04 00                            GET STATUS              70.1.0        
  12.0  DI     00 05 00 00                                         ....                    70.2.0        
     这两个怎么会不一样?

相关帖子

沙发
computer00| | 2007-9-8 02:39 | 只看该作者

后来我有更正一个BUG,你换用新的代码试试

Re:89S52加USBD12模拟的一个U盘(源码+原理图+实物照片) 
computer00发表评论于2007-8-25 11:24:00 

发现程序的一个BUG,有些朋友提到枚举不正常,可能是下面这个函数的问题,替换它再试试.

/***************************设置地址***************************************/
void set_usb_address(void)
{
usb_flags.flags.set_addr=1; 
set_usb_addr(Control_Data.DeviceRequest.wValue); 
while(select_endpoint(1)&0x01);
write_endpoint_buff(1,0,0);
while(select_endpoint(1)&0x01);
usb_flags.flags.usb_endp0_in=0;
usb_flags.flags.setup_packet_out=0;
}
/******************************************************************************/ 

使用特权

评论回复
板凳
小李志|  楼主 | 2007-9-8 09:28 | 只看该作者

谢了,那我试一下,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

151

主题

727

帖子

3

粉丝