打印
[圈圈教你玩USB]

好像发不到数据给电脑

[复制链接]
2373|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liyayao|  楼主 | 2010-3-28 20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
********************************************************************
******             《圈圈棠阃鎁SB》之 USB鼠标                ******
******                      AT89S52 CPU                       ******
******                  建立日期:Mar 28 2010                 ******
******                   建立时洌?8:45:47                   ******
******                    作者:电脑圈圈                      ******
******                    欢迎访问作者的                      ******
******           USB专区:http://group.**/93/       ******
******      BLOG1:http://www.**/blog/computer00    ******
******                BLOG2:http://computer00.21ic.org       ******
******                  请按K1-K8分鸾胁馐?                ******
******    K1:獗曜笠? K2:光标右移  K3:光标上?K4:光标下移   ******
******    K5:滚窒鹿? K6:滚轮上滚  K7:蟊曜蠹?K8:鼠标右键   ******
********************************************************************
Your D12 chip's ID is: 0x1012. ID is correct! Congratulations!
断开USB连印?
连接USB。

0x40 USB总线复位。

0x80 USB总线挂稹?
0xC0 USB总线挂起。

USB总线复位。

0x80 USB总线挂起。

0xC0 USB总线挂起。

USB总线复位。

0x01 USB端点0输出中断。

读端点0缓冲区8字节。
0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00
USB标准输入请求:获取描述符——设备描述符。
写端点0缓冲区16字节。
0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x10 0x88 0x88 0x01 0x00 0x00 0x01 0x01 0x02
0x40 USB总线复位。

0x01 USB端点0输出中断。

读端点0缓冲区8字节。
0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00
USB标准输入请求:获取描述符——设备描述符。
写端点0缓冲区16字节。
0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x10 0x88 0x88 0x01 0x00 0x00 0x01 0x01 0x02
0x40 USB总线复位。

0x01 USB端点0输出中断。

读端点0缓冲区8字节。
0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00
USB标准输入请求:获取描述符——设备描述符。
写端点0缓冲区16字节。
0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x10 0x88 0x88 0x01 0x00 0x00 0x01 0x01 0x02
0x80 USB总线挂起。



这就是结果

我加上了看中断的
if(D12GetIntPin()==0) //如果有中断发生
  {
   
   D12WriteCommand(READ_INTERRUPT_REGISTER);  //写读中断寄存器的命令
   
   InterruptSource=D12ReadByte(); //读回第一字节的中断寄存器
   #ifdef DEBUG0
   PrintHex(InterruptSource);
   #endif
   if(InterruptSource&0x80)UsbBusSuspend(); //总线挂起中断处理
   if(InterruptSource&0x40)UsbBusReset();   //总线复位中断处理
   if(InterruptSource&0x01)UsbEp0Out();     //端点0输出中断处理
   if(InterruptSource&0x02)UsbEp0In();      //端点0输入中断处理
   if(InterruptSource&0x04)UsbEp1Out();     //端点1输出中断处理
   if(InterruptSource&0x08)UsbEp1In();      //端点1输入中断处理
   if(InterruptSource&0x10)UsbEp2Out();     //端点2输出中断处理
   if(InterruptSource&0x20)UsbEp2In();      //端点2输入中断处理
  }

求助中

相关帖子

沙发
单车骑士| | 2011-12-6 21:49 | 只看该作者
同求

使用特权

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

本版积分规则

0

主题

6

帖子

1

粉丝