jerry_wyx
驱动牛犊
驱动牛犊
  • 注册日期2005-02-17
  • 最后登录2005-08-18
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1174回复:1

请教bulk only transfer中关于data in数据包的问题

楼主#
更多 发布于:2005-05-26 17:08
做u盘device,进入bulk only transfer后,若host期望从device接收数据,则device收到CBW后进入Data-In transfer,现假设配置端点1为IN端点,双缓冲模式禁止,最大数据包长度64bytes,不明白的是,若host请求数据超过端点1的最大数据包长度,则数据应被分成多个数据包发送吧?若是,是否每将一个64bytes的数据包写入相应端点即端点1的FIFO后,host会自动接收该包,并在成功接收后产生一个IN中断,进入中断服务程序转到Bulk-In,将下一个64bytes的数据包装入FIFO,之后host再接收,再产生中断.....如此“循环”,直到传输的数据为dCBWDataTransferLength中指明的数据长度?之后device设置CSW并送入FIFO发送到host?上述Data-In是否为一个类似循环的流程,即在IN中断服务程序中加以判断传输的数据长度,不足dCBWDataTransferLength则写下一个包到FIFO,host成功接收后产生中断又会进入这个IN中断服务程序?另外Data-Out transfer是否与此类似?以上只是个人的理解,不知正不正确,希望能得到各位高手的指点,让我度过这个难关,不胜感激!
jerry_wyx
驱动牛犊
驱动牛犊
  • 注册日期2005-02-17
  • 最后登录2005-08-18
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-29 13:17
为什么没有回音呢,是不是我问的问题太弱智了T_T.
游客

返回顶部