frank_wang
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2005-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1204回复:2

基于D12和ARM7的U盘的最后一个问题

楼主#
更多 发布于:2002-11-27 10:23
U盘已经基本可以存数据了。

但有一个问题,不知已前做过的人碰到过没有:

当PC端发出Write命令后,紧接着的下一个64Byte的包开始就应该是数据(这一点我可以肯定,因为我用串口看到的接收到的和Bus Hound看到的发出的是一致的),而且PC是按Sector的整数倍来发出数据,就是说哪怕是三个字节的文件,也会发出512个字节来,这样共为8个64Byte,就是说Write命令发出后,紧跟 应该有8个包,但我在实际过程中发现只有七个包,如果要等第八个,PC端就显示Timeout,但如果我在第七个包时结束命令,即第七个包收到后即传回CSW,PC又会送来一个数据包。

这种情况在发送不只一个Sector时表现出来也是缺一个64Byte的包。

不知道我讲清楚没有,希望做过的大侠指点。
frank_wang
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2005-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-27 17:43
大家帮帮忙呀
johnsmithyujie
驱动牛犊
驱动牛犊
  • 注册日期2003-12-14
  • 最后登录2004-12-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-13 15:50
你可以在收到第7个包后发送CSW,然后再接收最后一个包
游客

返回顶部