我在C8051F320上的HID和USBXpress固件中有一个2字节的SPI事务。两个固件中的SPI例程相同。
运行两次背靠背交易,USBXpress中的交易与使用HID的2ms延迟之间有1ms的延迟。延误是一致的。为什么HID较慢,如何使其1ms? HID中的bInterval为1。
答案 0 :(得分:0)
在这里花一点时间(没有使用USBXpress的经验,只有一些使用Microchip USB堆栈的经验):
HID堆栈将使用两个USB帧进行背对背交易 - 如果我没记错,可能永远不会有两个未完成的HID交易(即一个报告请求后跟一个报告响应)。第一个是在第一个USB帧中,第一个响应在第二个USB帧中,第二个请求只能在第三个USB帧中发生。
使用USBXpress,可以放松该条件并在等待完成前一个请求之前发出下一个请求。
可以制成1ms吗?我建议阅读HID规范以确定它是否合法......如果是,那么主机如何被迫处理两个未完成的HID交易。