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
};