CH573 CCCD数据不会保存的问题

我在使用CH573的自定义HID的时候,发现第一次绑定的时候,全部通道都是可以用的;但是如果断开后重新连接,那么一部分HID通道就不能使用了。打印日志是发现,Windows没有在重新连接后设置CCCD,导致无法Notify。


CCCD值在设置一次后应该是会被设备保存的,但是似乎调用 GATTServApp_ProcessCCCWriteReq 函数后并没有保存到数据。使用ISP工具观察数据储存区如下面图所示:


QQ图片20210626203311.png


由于我定义了6个HID的CCCD,故应当至少有6*4*2=48byte是用于存储CCCD值的,但是看图上面就只有一个是正常存储了。GATTServApp_ProcessCCCWriteReq的返回值是正常的,过程中没有出现其他的问题。


请问这种情况应该如何处理?

此问题可以在HID_Keyboard这个Demo里面复现。这个Demo里面声明了4个CCCD写数据,但看存储数据还是只有一个CCCD值,还请原厂工程师帮忙解答疑问。


QQ截图20210628212336.png


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