petmoses
驱动牛犊
驱动牛犊
  • 注册日期2006-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分482分
  • 威望58点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
阅读:1193回复:2

请USB大虾们帮忙看看我的问题,谢谢

楼主#
更多 发布于:2007-11-26 16:09
最近学者写驱动了,遇到下=如下问题,请指教:
1,从驱动程序端已经发送数据到设备端了,而且在Bus Hound中可以看到DO 中有我发送的数据,通过端点中断,到中断程序中。发现数据长度是正确的,但是BUFFER里面的数据始终是0,这是为什么?还需要设置什么吗?

2,往端点发送数据时,发现只有第一次会产生中断,下次发送数据时就好像再没有进入中断程序了。这是为什么呢?

附上我的相关代码:端点6为输出端点
void ISR_Ep6inout( void ) interrupt 0     //OUT
{
    SCON0  = 0x50;             //串口工作在方式1下
     TMOD |= 0x20;              //定时器1,工作方式2
     PCON|= 0x80;
     CKCON |= 0x10;
     TH1 = 0xEC;            
     TR1   = 1;
     TI    = 1;  
     EA    = 1;
     ES0    = 1;
                
       count = EP6FIFOBCL;    //检查这里是正确的,发送了多少个数据
    
      for(i = 0;i<count;i++)
      {
           SBUF0 = EP6FIFOBUF【i】  ;//EXTAUTODAT2 ;//取缓冲中的数据发送到串口
                                                             //这里始终是0
         EZUSB_Delay(100);    //延迟
      }

    EZUSB_IRQ_CLEAR();
    EPIRQ = bmBIT6;
      
}
petmoses
驱动牛犊
驱动牛犊
  • 注册日期2006-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分482分
  • 威望58点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-11-26 16:16
这是68013 FX2开发板。
petmoses
驱动牛犊
驱动牛犊
  • 注册日期2006-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分482分
  • 威望58点
  • 贡献值0点
  • 好评度55点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-11-27 08:57
后来经过多次试验,发现缓冲里面有我写进去的一些数据,但是有点乱,而且是在写如很多次以后才会在串口中出现以前写入的数据,这是怎么回事啊?
游客

返回顶部