我在使用CH573的自定義HID的時(shí)候,發(fā)現(xiàn)第一次綁定的時(shí)候,全部通道都是可以用的;但是如果斷開后重新連接,那么一部分HID通道就不能使用了。打印日志是發(fā)現(xiàn),Windows沒有在重新連接后設(shè)置CCCD,導(dǎo)致無法Notify。
CCCD值在設(shè)置一次后應(yīng)該是會(huì)被設(shè)備保存的,但是似乎調(diào)用 GATTServApp_ProcessCCCWriteReq 函數(shù)后并沒有保存到數(shù)據(jù)。使用ISP工具觀察數(shù)據(jù)儲(chǔ)存區(qū)如下面圖所示:
由于我定義了6個(gè)HID的CCCD,故應(yīng)當(dāng)至少有6*4*2=48byte是用于存儲(chǔ)CCCD值的,但是看圖上面就只有一個(gè)是正常存儲(chǔ)了。GATTServApp_ProcessCCCWriteReq的返回值是正常的,過程中沒有出現(xiàn)其他的問題。
請(qǐng)問這種情況應(yīng)該如何處理?