【发布时间】:2021-08-20 14:07:03
【问题描述】:
我有一个有线 USB 鼠标,除了这个问题外,它功能齐全。问题是当我发送一个标准的 Get Descriptor 请求来读取产品字符串时,鼠标和 PC 之间的通信线路冻结但鼠标仍然正常工作(这意味着我不能再发送命令,直到我拔掉并插入鼠标)。
只有在读取产品字符串的请求长度为零时才会发生这种情况,否则我看不到问题。你以前见过这个问题吗?是什么原因造成的?
我使用的是 Windows 10
【问题讨论】:
-
鼠标可能错误地执行 USB 协议(或者您的请求可能无效)并发送不完整的响应(或根本没有响应)。如果是这样,PC(您使用的是 Windows 吗?)将等待丢失的响应,并且不接受此特定端点上的任何进一步请求。
-
我使用的是 Windows 10。请求不是无效的,因为我有另一个鼠标,它可以使用零长度获取描述符。 (鼠标使用不同的代码和IC)
-
USB 文档是怎么说的?其他设备也可能会因不稳定而错误地处理非法请求。