请教USB HOST开发中批量传输问题
发布网友
发布时间:2023-05-23 10:02
我来回答
共1个回答
热心网友
时间:2024-11-30 06:01
,就像您说的,我也觉得如果数据阶段受到了NAK信号,那么硬件会自动将数据重新发送失败了的数据,
现在的情况是硬件似乎并没有重新发送上次发送失败了的数据,或者也有可能是虽然重新发送了,但是重发也没有
执行正确,所以返回了“实际传送的数据量与期望传送的数据量不符”的错误。但是按照1161的数据手册,硬件确实应该是
重新发过的。
2,如上所述,不管1161在收到NAK信号后到底有没有重发数据(不论发了没成功或者根本就没有重发),那么我应该考虑软件重发,
我现在的做法是,如果返回出错,那么就先设置设备重启,然后清楚端点bulk-in ,bulk-out的内容,最后将整个命令、数据、状态三个阶段都重新发送一次,
但是这样做虽然起到一定的作用,但是效果并不是很理想。即使重试多次,也还是收到同样的错误。 请问我的这种做法对不对?有没有更好的做法呢?你所说的将在上层来retry,是只重试数据阶段,