图中红色部分,pDataList[3], pDataList[4]是怎么来的,我看之前有些代码当中这一步使用的是pDataList[0], pDataList[1],不明白这么写的依据是什么?
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.
图中红色部分,pDataList[3], pDataList[4]是怎么来的,我看之前有些代码当中这一步使用的是pDataList[0], pDataList[1],不明白这么写的依据是什么?
你好,
从机定义的特征值呢,不是说有都有读写功能的,必须是有读写功能的你才能获得它的句柄
可以查看一下该link
uint8 * | pDataList |
List of 1 or more attribute handle-value pairs (2 to ATT_MTU_SIZE-2) |
pDataList包含多个数据对,数据对由handle和Value组成,关于数组内0,1认为是指向特定数据对的索引,就是说,0、1和3、4指向不同
pDataList包含多个数据对,数据对由handle和Value组成,关于数组内0,1认为是指向特定数据对的索引,就是说,0、1和3、4指向不同
那这边所说的指向不同,能不能举例详细描述一下,另外这个Pdata[]是和从机端的属性表有联系吗
1.指向没有例子,就是一个概念
数据对由handle和Value组成,关于数组内0,1认为是指向特定数据对的索引 比如说0指向的是handle,而1指向的是value,它们共同作为一个数据对
2.pDataList的参数定义是和属性表有关
to read a Characteristic Value from a server 读取的是server端的
以下是 static void SimpleCentral_processGATTDiscEvent(gattMsgEvent_t *pMsg)这个函数的几个截图
从这一个函数当中,我们可以看到程序主要是先查找服务uuid,再查找char uuid,之后存取一个句柄,我之所以想要问pDataList[3], pDataList[4]这个指向的具体含义,是因为最终得到的这个句柄到底是什么,我存在疑惑,按照GATT层的定义,一个characteristic是由 Declaration
attribute ,Value
attribute , Descriptors attribute 等组成,我现在是认为pDataList[3], pDataList[4]获取到的是对应的Value
attribute的句柄,
如果现在是pDataList[0], pDataList[1]获取到的是对应的 Declaration
attribute 的句柄,不知道我这样的理解是否正确
你的理解是正确的,
一个characteristic是由 Declaration
attribute ,Value
attribute , Descriptors attribute 组成
pDataList[3], pDataList[4]获取到的是对应的Value
attribute的句柄
pDataList[0], pDataList[1]获取到的是对应的 Declaration
attribute 的句柄
看参数描述的时候,数据对是我混淆了