CH552的例程修改遇到问题

例16_CH554 模拟HID兼容和键盘复合设备实例

中的设备描述符为

0x12,0x01,

0x10,0x01,

0x00,0x00,

0x00,0x08,                      

0x31,0x51,// Vendor ID   |  VID =  0X5131///413c

0x07,0x20,// Product ID  |  PID = 0X2007 /// 2105

0x00,0x11,// bcdDevic

0x00,0x00,

0x00,0x01

我修改为

        0x12 0x01 

        0x00 0x02 

        0x00 0x00

        0x00 0x40

        0xF2 0x0C 

        0x01 0xA1 

        0x00 0x01 

        0x01 0x02 

        0x03 0x01

电脑显示无法识别,然后我有逻辑分析仪观察,发现在主机分配新地址之后,芯片使用新地址上传设备描述符的时候,只上传前面8个字节(0X12~0X40),还有10个字节不会上传,

这是怎么回事?


you specify a bMaxPacketSize0 of 0x40. 

Therefore you have to copy the 0x12 bytes at once. If a descriptor is bigger than bMaxPacketSize0 the transfer needs to be devided in chunks of sizeof(bMaxPacketSize0).

Of course the EP0 Dma buffers have to be big enough too.


只有登录才能回复,可以选择微信账号登录