在BLE蓝牙中SpeedTest_Peripheral例子程序中,使用BLE蓝牙助手连接蓝牙后,NOTIFY需要,点击接收通知数据芯片才开始发送数据,有没有什么办法可以不点击接受通知数据 让芯片直接发送数据呢?
从机主动打开noti的函数
uint8_t enable_notify(uint16_t connection_handle,uint8 enable) {
uint16_t cccd = 0;
if(enable) {
cccd |= GATT_CLIENT_CFG_NOTIFY;
}else {
cccd &= ~GATT_CLIENT_CFG_NOTIFY;
}
return GATTServApp_WriteCharCfg( connection_handle, simpleProfileChar4Config, cccd );
}
在连接后此函数(Peripheral_LinkEstablished)调用就可以了。?
enable_notify( peripheralConnList.connHandle,ENABLE);
我在Peripheral_LinkEstablished里面调用了enable_notify( peripheralConnList.connHandle,ENABLE);会报错
添加测试是可以的,详情添加步骤见截图:可以留个邮箱将改好的程序发你,从机添加了主动使能noti的函数之后仍需要APP能够识别出这个指令后,从机才能够主动noti。
这是我的邮箱个人信息保护,已隐藏
已发送,注意查收