您好!
我正在创建一个定制 HID 设备、并且我遇到了报告描述符的问题。 我定义了3个报告:1个输入报告和2个输出报告。 由于两个输出报告的报告计数不同、这两个输出报告似乎相互产生了问题。 我用于与之通信的 C# GUI 始终显示报告2错误、但报告3工作正常。
现在捕获是、如果我增加报告2的报告计数以匹配报告3的报告计数、则报告工作正常。
我认为由于某种原因、USB 库仅考虑1个特定报告计数(最高报告计数)。 是这样吗?
附件是我的报告描述符
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在创建一个定制 HID 设备、并且我遇到了报告描述符的问题。 我定义了3个报告:1个输入报告和2个输出报告。 由于两个输出报告的报告计数不同、这两个输出报告似乎相互产生了问题。 我用于与之通信的 C# GUI 始终显示报告2错误、但报告3工作正常。
现在捕获是、如果我增加报告2的报告计数以匹配报告3的报告计数、则报告工作正常。
我认为由于某种原因、USB 库仅考虑1个特定报告计数(最高报告计数)。 是这样吗?
附件是我的报告描述符
尊敬的 Daryl:
您能否显示报告描述符? 您上次未成功上传描述符。
报告2与报告3有何不同?
您的报告2的报告大小是否小于一个字节? 报告3的报告计数可能是多个字节、这也是它正常工作的原因。
您的报告描述符数据包有多大? 您的主机是否会考虑正确的描述符大小?
我不是 USB 专家。 我们的 USB 专家正在度假。 因此、如果我无法帮助您解决问题、我们需要等到专家回来。
尊敬的 Daryl:
我肯定不是 HID 报告描述符结构的专家。 描述符中有一件我很好奇的事情。 为什么不为每个报告指定报告大小? 您只有报告计数(例如64、5、6),但没有报告大小。
我在下面的文章中找到了一些可能对您有所帮助的信息。 请看一下。
http://who-t.blogspot.com/2018/12/understanding-hid-report-descriptors.html