在研究当前项目的HID规范时,我无意中发现了以下短语:
使用USB术语,设备可以发送或接收每个USB帧(1毫秒)的事务。一个事务可以由多个数据包(令牌、数据、握手)组成,但对于低速设备而言,其大小限制为8字节,对于高速设备则为64字节。
这使我相信,HID数据包的最大大小是64字节。
但是,在检查其他设备的报表描述符时,我发现正在使用超过500个字节的数据包。这怎麽可能?这些设备是否违反了USB规范?如果是的话,这在不同平台的兼容性方面意味着什么?
发布于 2020-12-30 14:06:46
据我所知,上一个HID规范比最近的USB规范要老得多;IIRC最新版本是1.11,可以追溯到2001年。
现在有low-speed,full-speed和high-speed USB,我认为HID规范从来没有改变过以反映这一点。
high-speed的最大数据包大小控制传输为64字节,中断传输和等时传输为1024字节,批量传输为512字节。
请看NutShell中的USB,我认为这是最新的。当然还有其他来源。
我不完全确定这一切是否也适用于HID设备,为什么HID规范没有改变,但我假设现在存在高速HID设备,它们使用更新的USB规范中描述的更大的数据包。
https://stackoverflow.com/questions/65507229
复制相似问题