蓝牙技术
直播中

duke刘

11年用户 840经验值
擅长:可编程逻辑
私信 关注
[问答]

ATT读取由组请求CYBLE-416045-02 gatt服务器响应,带有错误的起始和结束属性句柄怎么解决?

我正在使用 PDL 3.1.7和PSoC™创建者。 我定义了一个带有几个服务的 GATT 服务器(GAP 外设)。BLE_config.c中最后一项如下:
...
{ 0x0061u, 0x2A19u /* 电池电量 */, 0x01120013u /* rd,ntf */, 0x0063u, {{0x0001u, (void *)&cy_ble_attValuesLen[78]}} },
{ 0x0062u, 0x2904u /* basCPF */, 0x01020001u /* rd */, 0x0062u, {{0x0007u, (void *)&cy_ble_attValuesLen[79]}} },
{ 0x0063u, 0x2902u /* basCCC */, 0x030A1301u /* rd,wr */, 0x0063u, {{0x0002u, (void *)&cy_ble_attValuesLen[80]}} },
};
...
在 GAP 中央设备 / GATT 客户端(想要连接到我的 GATT 服务器)的发现过程中,需要经过
ATT 按组类型请求读取,我的服务器响应如下:
...
客户端 ATT 按组请求读取:起始属性句柄 = 70 / 结束属性句柄 = 65535
我的服务器响应:句柄值对{Start Att. Handle = 82 / Ending Att. Handle = 94, Device Information Service} ,
句柄值对{Start Att. Handle = 95 / Ending Att. Handle = 99, Battery Service}

按组请求读取的客户端 ATT:起始属性句柄 = 96 / 结束属性句柄 = 65535
我的服务器响应:句柄值对{Start Att. Handle = 32399 / Ending Att. Handle = 4108}

开始提示。句柄 = 32399 / 结束附件。Handle = 4108 是错误的。它们没有在 BLE_config.c 中定义!
句柄 95 是最后一个主要服务。没有定义更多服务。(我期望的是 ATT_ERROR_RSP 或 BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND)。

有没有办法在PSoC™ Creator 4.4 和 PDL 3.1.7 中解决这个问题 ?

更多回帖

发帖
×
20
完善资料,
赚取积分