大家好,
我在使用数据上传函数GATTServApp_ProcessCharCfg()进行数据上传时,使用lightblue 怎么也接收不到notified value值,但是直接读取该接口的话,使用lightblue 可以接收到notified value 值。在其他通讯接口中使用该函数时,可以正确上传,但是使用这个接口怎么也无法实现数据上传,相应的属性表,读写回调函数都对比过了,没有发现区别,但是就是一个可以一个却不行。请问有哪些地方会导致无法上传呢?
谢谢大家。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好,
我在使用数据上传函数GATTServApp_ProcessCharCfg()进行数据上传时,使用lightblue 怎么也接收不到notified value值,但是直接读取该接口的话,使用lightblue 可以接收到notified value 值。在其他通讯接口中使用该函数时,可以正确上传,但是使用这个接口怎么也无法实现数据上传,相应的属性表,读写回调函数都对比过了,没有发现区别,但是就是一个可以一个却不行。请问有哪些地方会导致无法上传呢?
谢谢大家。
在lightblue上 如果是一个notification的属性,需要打开Listen for notifications 然后如果值有变化就能收到notification了
感觉可以查一下simpleProfile_ReadAttrCB这个函数里对特征值的处理
simpleProfile_WriteAttrCB这个函数里case GATT_CLIENT_CHAR_CFG_UUID的处理
WBJ,您好,
我通过在写回调当中对应接口添加 GATTServApp_ProcessCharCfg 函数来测试,发现在lightblue 上可以接收到 notify 值,但是在函数GATT_Set_Value中调用该函数,而在其他的文件中调用GATT_Set_Value函数,则在 lightblue 中接收不到 notify 的值。不知道为什么会产生这种问题。
您好,在读回调中是将读特征值进行复制处理,在写回调中, case GATT_CLIENT_CHAR_CFG_UUID语句后是
State=GATTServApp_ProcessCCCWriteReq(Handle,pAttr,pValue,Length,offset,GATT_CLIENT_CFG_NOTIFY); 谢谢了。