【问题】
在分析 USB HID Report的时候,发现代码中,Report Count=263,Logical Maximum=0xFF=255,
出现了Report Count大于Logical Maximum的情况,觉得很是不理解,
为何Report Count可以大于Logical Maximum?是不是代码写错了?
【解答】
不是代码错了。是自己理解错了。
经过询问别人和自己再仔细看HID的数据手册规范,才终于搞懂了,此处为何Report Count可以大于Logical Maximum。
简单的解释就是,Report Count和Logical Maximum,是两个不相干的概念,所以可能会出现Report Count可以大于Logical Maximum。
之所以会有“为何Report Count可以大于Logical Maximum?”的疑问,是没有理解Logical Maximum的概念,混淆了两者的关系。
之前错误的将Logical Maximum理解为,是设备report出来的,逻辑上,最大所允许的个数(count),所以,应该是至少是大于或等于Report Count的值,即Report Count要小于或等于Logical Maximum才对。后来才发现,实际上,Logical Maximum的意思,逻辑最大值,是针对设备report中,单个的值来说的。
举个例子:
【TODO:等网易不抽风的时候,再传图片 mouse HID.jpg ,否则传了都是失败。。。】
转载请注明:在路上 » 【解答】为何USB HID Report中的Item的Report Count可以大于Logical Maximum