请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2640 您好!
我使用的是简单外设、希望在缓冲区中有一些数据时发送通知。 我按以下方式执行该操作。
连接主设备后、我启动计时器并触发事件、将通知发送给主设备。
但我无法从传感器获取任何通知、我发现 GATT_BM_ALoc 返回的值为空代码如下:
uint8_t minLength = MINdataLength - idx、length); attHandleValueNoti_t 通知; if (value & GATT_CLIENT_CFG_NOTIFY) { oti.len = minLength; NOTI.pValue = GATT_BM_alloc (connHandle、ATT_Handle_Value_Noti、NOTI.len、NULL); myNotiBuffer =通知(&N); if (NOti.pValue!=空) { gattAttribute_t *pAttr; pAttr= GATTServApp_FindAttr (serviceAttrTbl、 GATT_NUM_ATTRS (serviceAttrTbl)、 transCharVal (&T); oti.handle = pAttr->句柄; memcpy (oti.pValue、&stmDataBuffer[idx]、minLength); if (GATT_Notification (connHandle、&Noti、false)!=成功) { GATT_BM_FREE (((gattMsg_t *)&Noti、ATT_Handle_Value_Noti); } }
NOTI.pValue 始终为空。
请帮我解释一下为什么它没有分配任何内存?