Re: [问题] HID Endpoint跟Report Desc关系

楼主: govert ( )   2013-04-19 12:08:40
Endpoint的大小是跟USB硬件有关,
你改那个值没有意义, 反而会造成问题.
那个值是Max Packet Size,
也就是一次Transfer最多能传多少值.
你回传0x11个byte, 就是Short Packet,
没有什么差别的.
※ 引述《gg1122 (99通未接来电)》之铭言:
: hi 各位先进 想请教 Endpoint 跟Repot descriptor 大小的对应关系
: 我目前拿到一个范例 是正常work没问题
: 但是我只要去改EP1或2的大小 或者是Report Count 就会收不到资料
: 二边都要绝对定义32个byte(如下列程式) 上层AP Refile 才收的几乎不会掉
: 我将input length 改为0x10 资料就会掉的很凶 约只有二成收的到
: 我的想法为EP buffer这边32byte 实际定义上只有丢16Byte+1byte(Usage ID)
: 上面AP也读回0x11 所以变小应该没关系吧 但是就一直Timeout掉
: 看了一些其他的范例 但是还是看不出二个参数相对应的关系
: 还麻烦各位先进能够 分享这方面的经验
: 谢谢
: //AP
: InputReportByteLength 0x11 //Report ID 0x10 +Report ID 0x01
: //EP config
: #define EP0_PACKET_SIZE 64 //buffer size of endpoint 0
: #define EP1_PACKET_SIZE 32 //buffer size of endpoint 1 //for in
: #define EP2_PACKET_SIZE 32 //buffer size of endpoint 2 //for out
: code unsigned char ReportDesc[] =
: {
: 0x06, 0x00, 0xFF,// ; Usage Page
: 0x09, 0x01,// ; Usage
: 0xA1, 0x01, // ; Collection
: 0x09, 0x01,// ; Usage
: 0x95, 0x20,//**change 0x10 ; Report Count //**input length
: 0x75, 0x08,// ; Report Size
: 0x15, 0x00,// ; Logical Minimum
: 0x26, 0xFF, 0x00,// ; Logical Maximum
: 0x81, 0x02,// ; Input
: 0x09, 0x02,// ; Usage
: 0x95, 0x20,// ; Report Count//**output length
: 0x75, 0x08,// ; Report Size
: 0x91, 0x02,// ; Output
: 0xC0
: };

Links booklink

Contact Us: admin [ a t ] ucptt.com