[請益] 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