XferData()返回false

[复制链接]
 楼主| dwindy 发表于 2016-7-6 17:27 | 显示全部楼层 |阅读模式
已经通过bulkendpoint实现对usb的写入和读取。
现在情况是,usb那边每40微秒生成512bytes的数据。
上位机这边在一个while(ture){}循环内部一直调用BulkInEndPoint->xferdata(data[],len)来获取USB的数据。

  1. while(ture)
  2. {
  3. while(!flag)
  4. {
  5.     bool flag = bulkInEndPoint->XferData(data[], len);
  6. }
  7. }

程序在运行一段时间后,会阻塞。
查到是xferdata超时,返回false。
这时while(!flag)判真,重新调用bulkInEndPoint->XferData(data[], len);
但自这之后xferdata一直就返回false了。

同事用抓包工具说,阻塞之后上位机没有发出SOF命令。
正常一次包的发送应该是SOF-In-DATA-xxx。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部