[蓝牙]nRF52840+S340协议栈无法被iPhone连接的问题
从官方SDK例程中,删掉了peer_manger模块,蓝牙设备不支持配对。 导致iPhone上面的测试APP无法正常连接到设备。 通过分析日志,发现手机与设备的connect过程其实是成功了。 只不过connect之后,手机端又发起了一些其它未知请求,没有被设备端处理,导致手机端又主动断开了连接,然后报错。 查阅资料后,解决方案如下:
在on_ble_evt函数中添加以下代码:
static void on_ble_evt(ble_evt_t const * p_ble_evt)
{
......
case BLE_GAP_EVT_SEC_INFO_REQUEST:
sd_ble_gap_sec_info_reply(p_ble_evt->evt.gatts_evt.conn_handle, NULL, NULL, NULL);
break;
case BLE_GATTS_EVT_SYS_ATTR_MISSING:
sd_ble_gatts_sys_attr_set(p_ble_evt->evt.gatts_evt.conn_handle, NULL, 0, 0);
break;
default:
break;
}
重新测试,问题解决。