微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > GATT_Notification发送数据不正常?但是 SimpleProfile_SetParameter正常

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

时间:10-02 整理:3721RD 点击:

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数据发送,但是进不去函数
所以现在无解了

应该是协议栈问题,赋值的时候跟最后发的时候内存地址不一致,应该是不能随意给一个地址
仿照gattservapp写了一个 搞定问题! 最新版本确实跟以前的不一样

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top