meihua
驱动牛犊
驱动牛犊
  • 注册日期2003-04-16
  • 最后登录2008-01-21
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1187回复:1

救命那,兄弟们!!!PC通过readfile读取D12不成功!

楼主#
更多 发布于:2004-05-24 14:47
我用D12来实现usb接口,用D12test测试我的USB接口的端点2,writefile时PC机通过USB口往MCU发送数据成功,但是readfile时MCU往PC机发送数据失败!具体现象如下:
1.监视D12test发现:PC机顺利打开USB设备和相应的USB管道,但是readfile读取数据失败。
2.如果在readfile前,在固件中往D12相应端点中写入PC执行readfile读取的数据,那么readfile返回false,读取失败;如果在readfile前,在固件中不往D12相应端点中写入任何数据,那么readfile返回true,而读取的数据数为0,读取还是失败。
3.用bushound监视程序的运行发现,可以看到PC机往MCU写的数据和PC机从MCU读的数据(因为我的固件中是先判断PC机输入的数据再决定是否向D12的相应端点写入PC来读取的数据,所以为了用readfile来读取数据PC需要先通过writefile向MCU写入规定的数据)。如果我在writefile后readfile一次,在bushound上看不到pc机读取的数据;如果我在writefile后readfile两次,在bushound上可以看到PC机读取的数据。
不知道是什么原因导致pc机readfile失败???在bushound上可以看到PC通过readfile读取的数据不知道能说明什么???是否说明数据已经读入电脑了,导致readfile失败是否可能就是驱动或测试程序的问题????
jiangliq_2000
驱动牛犊
驱动牛犊
  • 注册日期2003-07-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-02 19:10
现在我也碰到这个问题,急盼那个高手简答一下!!!
我的问题是我还扩展了一个RAM,固件里没用RAM时,我的读写都正常,但是用到RAM时,PC读数据就不行了,而且我用示波器看发现RAM的片选就一直没有有效过,我的端点2IN固件如下:
//主端点IN控制
void main_txdone(void)
{
 unsigned char i;
 D12_ReadLastTransactionStatus(5); //清中断标志位
 MCU_D12CS = 0x1;
 MCU_RAMCS = 0x0;                 //外部RAM片选
 databuff=0x0000;
 for(i=0;i<64;i++)                  
      { EpBuf = *databuff;
        databuff++;
       }
    MCU_RAMCS =0x1;
    MCU_D12CS = 0x0;  
   D12_WriteEndpoint(5, 64, EpBuf);

}
我的固件这样写有没有问题


楼上的,我用USBHOUND监视只能监视到枚举过程,其他的就没了,我用的是5.0版的,这是怎么回事啊!
我的QQ:11624074,共同探讨一下!!
游客

返回顶部