GATT_Notification()通知,客户端接收不到数据
新装的BLE-CC254x-1.4.0协议找,使用的SimpleBLEPeripheral工程,直接在simpleBLEPeripheral.c文件中添加函数如下:
static void sendData(void )
{
static uint16 counter=0;
uint8 burstData[20] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
burstData[0] = (counter & 0xFF00)>>8;
burstData[1] = (counter & 0xFF);
attHandleValueNoti_t nData;
nData.len = 20;
nData.handle = 20;
//skKeyPressed = *((uint8*)pValue);
osal_memcpy( &nData.value, &burstData, 20 );
// Send the Notification
if (GATT_Notification( 0, &nData, FALSE )==SUCCESS)
{
counter++;
}
if(counter >1000)
{
osal_stop_timerEx(simpleBLEPeripheral_TaskID,SBP_PERIODIC_EVT);
counter = 0;
}
}
周期循环调用该函数,但是主机无法收到数据
现在这种方法不能用了吗? 只能用另一个方法吗?(如下)
GATTServApp_ProcessCharCfg( simpleProfileChar4Config, &simpleProfileChar4, FALSE,
simpleProfileAttrTbl, GATT_NUM_ATTRS( simpleProfileAttrTbl ),
INVALID_TASK_ID );
可能handle号不对应
可以用的,请参考下论坛类似问题:
http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/23031.aspx
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/64338.aspx
你好 楼主我和你遇到同样的问题了 。不知道楼主解决了没有? 我也是用GATT_Notification发送通知不成功会导致蓝牙断开。 方便讨论下吗?
1.4.0比较老了,请下载安装最新版1.4.2再进行测试
你好:
我现在就是用的1.4.2版本遇到同样的问题GATT_Notification发送通知数据无法上传。用这个GATTServApp_ProcessCharCfg可以但是存在一定的问题。能否帮忙解决下呢?
这个还没解决 我绕过去了 请问你解决了吗?
这个我试试 谢谢啊
GATTServApp_ProcessCharCfg 还有问题啊?
我用1.4.2的解决了 。我的是主机的通知开关没有打开导致的。
哦 这样啊 谢谢啊