[请益] USB HID Report ID是不是一定要传?

楼主: MaxHaru (懂得放手..才是王道)   2017-06-01 14:43:18
最近在学习USB, 有个问题想请教..
HID Report Descriptor在描述的时候,
如果有必要, 需要宣告Report ID,
Report ID在Interrupt Pipe需要连同Data一起传送,
是因为可能会有多个Report共同一个Interrupt Pipe,
但如果HID Report是透过Control Pipe来传送的时候(Get/Set Report Request),
是不是有办法可以不传Report ID, 会这样想是因为,
我认为Control Pipe的资料传输都会经过Setup->Data->Handshake这三个Phase
而HID Get/Set Report的Request在Setup Phase时就已经可以知道了,
如果在Data Phase再传一次似乎有点没效率,
请问是否有什么方法可以在Data Phase上不要传Report ID呢??
感谢..
作者: doubletime (电力电子的自控人)   2017-06-03 18:18:00
如果不宣告report id的话,就是设为0, 有些应用是把report ID当command或是区分data length用的
楼主: MaxHaru (懂得放手..才是王道)   2017-06-06 15:12:00
所以只要有宣告,在Data Phase就一定要传,这看来避不掉...

Links booklink

Contact Us: admin [ a t ] ucptt.com