GATT_Notification发送数据不正常?但是 SimpleProfile_SetParameter正常

2019-07-18 15:33发布

GATT_Notification发送数据不正常?但是 SimpleProfile_SetParameter正常
SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR6,20,&databuf[sendok]);  
现在使用的版本是BLE-CC254x-1.4.1.43908
主机可以正确接受,如果主机(我使用的安卓BLE读写器),打开通知情况下,可以正确收到数据信息,能显示Notification,同时对数据进行读取都可以。
但是我只用GATT_Notification时,只能收到乱码,不是我真实发送的数据,但是数据长度是正确的,就是不是我实际发送的数据,代码如下:
static attHandleValueNoti_t pReport ;//声明attHandleValueNoti_t这个结构体
uint16 noti_cHandle; //存放handle
pReport.handle = simpleProfileAttrTbl[18].handle;//读取notification对应的handle
GAPRole_GetParameter( 0x30E, &noti_cHandle);//获取Connection Handle
pReport.len = 4;//数据长度
pReport.pValue[0] = 0x33;//赋值
pReport.pValue[1] = 0x34;//赋值
pReport.pValue[2] = 0x35;//赋值
pReport.pValue[3] = 0x36;//赋值
GATT_Notification(noti_cHandle,&pReport,FALSE);
下面附上我自己修改的simpleGATTprofile.c
我之前用1.3的时候没有这个问题,但是升级到最新版本发现这个问题,请问我是哪里有不对的地方,谢谢指教,调试了几天了,无解呢。。。
我目前使用GATT_Notification对attHandleValueNoti_t进行通知的时候, GATT_Notification并没有把结构体的pValue数据发送,但是进不去函数
所以现在无解了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
ytrwv
1楼-- · 2019-07-18 18:45
应该是协议栈问题,赋值的时候跟最后发的时候内存地址不一致,应该是不能随意给一个地址

仿照gattservapp写了一个 搞定问题! 最新版本确实跟以前的不一样

一周热门 更多>