我真的很困惑。
我有一个 msg_ReadAttrCB()的实现,它写入不同长度的数据(文本消息)。 大多数情况下,一切都运行良好和预期,除了有时手机不能同意设备, MTU 突然非常低。
有一个信使配置文件的实现:
MSG_ReadAttrCB (connHandle、*pAttr、*pValue、*PLEN、偏移、 maxLen,方法){}
好的、假设堆栈正在读取值、并且 maxLen = 20、offset = 0、我正在尝试推送长度= 40的通知。
如何告知堆栈这是不完整的响应? 显而易见的答案是将 PLEN 设为40、由于它显然 大于 maxLen、堆栈 稍后将再次调用相同的 msg_ReadAttrCB ()、并具有不同的偏移... 但如果我尝试这样做、栈会生成错误0x1b bleInvalidMutuSize。
我觉得我真的不明白堆栈的逻辑。
如何发送长通知?