当手机连接芯片蓝牙时,如何使芯片可以直接发数据给手机

       在BLE蓝牙中SpeedTest_Peripheral例子程序中,使用BLE蓝牙助手连接蓝牙后,NOTIFY需要,点击接收通知数据芯片才开始发送数据,有没有什么办法可以不点击接受通知数据  让芯片直接发送数据呢?
       
       258CA13965448433FC27642BD3D55C2A.jpg

















从机主动打开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);会报错
image.png



添加测试是可以的,详情添加步骤见截图:可以留个邮箱将改好的程序发你,从机添加了主动使能noti的函数之后仍需要APP能够识别出这个指令后,从机才能够主动noti。

image.png

image.png


    这是我的邮箱个人信息保护,已隐藏



已发送,注意查收


只有登录才能回复,可以选择微信账号登录