NRF 主机配对(BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY)

本人的联系方式:qq343138725,可以做相关的嵌入式单子,如有需要可以联系

0 任务说明

接到一个任务,蓝牙主机连接从机。
从机配对方式,从机显示密码,主机输入密码配对。
主机需要配置为,能够输入密码配对上从机

1.重点

when BLE_GAP_EVT_LESC_DHKEY_REQUES then sd_ble_gap_lesc_dhkey_reply(p_dhkey),参数为从机的密码

2其它

static void peer_manager_init(void)配置


static void peer_manager_init(void)
{
    ble_gap_sec_params_t sec_param;
    ret_code_t err_code;

    err_code = pm_init();
    APP_ERROR_CHECK(err_code);

    memset(&sec_param, 0, sizeof(ble_gap_sec_params_t));

    // Security parameters to be used for all security procedures.
    sec_param.bond           = SEC_PARAM_BOND;
    sec_param.mitm           = SEC_PARAM_MITM;
    sec_param.lesc           = SEC_PARAM_LESC;
    sec_param.keypress       = SEC_PARAM_KEYPRESS;
    sec_param.io_caps        = SEC_PARAM_IO_CAPABILITIES;
    sec_param.oob            = SEC_PARAM_OOB;
    sec_param.min_key_size   = SEC_PARAM_MIN_KEY_SIZE;
    sec_param.max_key_size   = SEC_PARAM_MAX_KEY_SIZE;
    sec_param.kdist_own.enc  = 1;
    sec_param.kdist_own.id   = 1;
    sec_param.kdist_peer.enc = 1;
    sec_param.kdist_peer.id  = 1;

    err_code = pm_sec_params_set(&sec_param);
		LOG_BLE("line:%d err:%d\r\n",err_code,__LINE__);
    APP_ERROR_CHECK(err_code);

    err_code = pm_register(pm_evt_handler);
			LOG_BLE("line:%d err:%d\r\n",err_code,__LINE__);
    APP_ERROR_CHECK(err_code);
}

在这里插入图片描述

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页