编译时报错This example needs more USB ram. Increase this setting in menu.

CH552G 

抄了官方示例。修改端点0的包大小为64字节,用端点1上传数据,最大包大小也是64字节


#define  EP0_ADDR0

#define  EP1_ADDR64


请问这个USER_USB_RAM值是多少,在哪里修改,应该设定为多少?


#if (EP1_ADDR+128) > USER_USB_RAM

#error"This example needs more USB ram. Increase this setting in menu."

#endif


谢谢

您好,您可以从官网下载最新的EVT例程进行修改,按照最新例程中的方式定义缓冲区地址。


谢谢。


我下载的CH554EVT里的示例CompatibilityHID,已经没有这段代码了,不过他用的是端点2。我注释掉这3行代码,可以编译成功了。


接下来又碰到个问题,用usbmonitor查看返回的报告描述不完整,定义的reportDesc长度是499,读出来的数据长度只有243,另外在跟踪记录里没有发现读取字符串描述符的命令


您好,当描述符长度大于255时,要注意检查HID描述符中报告长度是否对应。

注意这个地方的代码可以去掉。

image.png

另外注意len变量的变量类型是UINT8.

如果还有问题可以将抓包数据和问题发送至邮箱:dxy@wch.cn


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