CC2540 BloodPressure 范例 Indicate 使能问题
啥问题?
CC2540 范例工程中血压计代码中我看到,血压结果有两种发射方式一种是Notify, 还有Indicate. 他们对应的使能handle顺序是0x17和0x13. 但是我可以向Notify的使能handle(0x17)中写01 00打开notify.但是对indicate的使能handle(0x13)中写01 00失败。我发现bloodPressure_WriteAttrCB 函数执行时
status = GATTServApp_ProcessCCCWriteReq( connHandle, pAttr, pValue, len,
offset, GATT_CLIENT_CFG_INDICATE );
返回不成功导致写入失败。 但是GATTServApp_ProcessCCCWriteReq是不开放函数。没办法再更深一步debug。想请教一下这里是否存在bug.或者是其他别的原因,希望能得到帮助,谢谢!
CC2540 范例工程中血压计代码中我看到,血压结果有两种发射方式一种是Notify, 还有Indicate. 他们对应的使能handle顺序是0x17和0x13. 但是我可以向Notify的使能handle(0x17)中写01 00打开notify.但是对indicate的使能handle(0x13)中写01 00失败。我发现bloodPressure_WriteAttrCB 函数执行时
status = GATTServApp_ProcessCCCWriteReq( connHandle, pAttr, pValue, len,
offset, GATT_CLIENT_CFG_INDICATE );
返回不成功导致写入失败。 但是GATTServApp_ProcessCCCWriteReq是不开放函数。没办法再更深一步debug。想请教一下这里是否存在bug.或者是其他别的原因,希望能得到帮助,谢谢!
有没有改bloodPressureAttrTbl中的东西,用IAR调试,在Watch中加入bloodPressureAttrTbl,观察handle 0x13的
permissions是否等于0x03
在watch中查看,handle 0x13的permissions是0x03. 使用Btool工具向0x0013写入 01 00的时候 显示状态是INVALID_VALUE。
我试了一下温度计的 范例程序的 Indicate也不能使能。 难道不是向那个handle里面写01 00? 而是写别的值?
02 00 开启
it works,thank you very much.
TY:
您好!
我也有此类似的问题,看到该帖后解决了。
我想请教一下,其实在使用TI协议栈的过程中经常遇到各种各样的问题。
就比如这个Indication的问题,我在TI的官网上没有找到相关资料,只能去论坛到处问。
我想问的是,关于TI蓝牙协议栈的使用,哪里有比较详细和全面的资料?
或者这么问比较具体一些,关于Indication在协议栈中的使用,请问在哪篇资料中有比较详细的阐述?
非常感谢!
Frank