158***592
1.GR551x_SDK_V2.0.1
2.硬件:5515
3.使用peripheral时,在哪里可以将link key打印出来
zhongchengzhi
您好,GR551x可参考以下方法( GR5525/GR5526/GR533x可参考: https://developers.goodix.com/zh/bbs/blog_detail/58dd05d850bf47b8972f8ef3d146713d ):
1、在costom_config.h使能CFG_BT_BREDR;
#ifndef CFG_BT_BREDR
#define CFG_BT_BREDR 1
#endif
2、ble_sec_params_set的ble_sec_param_t参数的ikey_dist和rkey_dist配置为BLE_BT_SEC_KDIST_ALL;
// Set the default security parameters.
ble_sec_param_t sec_param =
{
.level = BLE_SEC_MODE1_LEVEL2,
.io_cap = BLE_SEC_IO_NO_INPUT_NO_OUTPUT,
.oob = false,
.auth = BLE_SEC_AUTH_BOND | BLE_SEC_AUTH_SEC_CON,
.key_size = 16,
.ikey_dist = BLE_BT_SEC_KDIST_ALL,
.rkey_dist = BLE_BT_SEC_KDIST_ALL,
};
error_code = ble_sec_params_set(&sec_param);
3、在协议栈初始化钱调用Link key回调函数:
typedef void (*sec_add_link_key_cb_t)(uint8_t* peer_addr, uint8_t* link_key);
void sec_register_link_key_callback(sec_add_link_key_cb_t cb);
4、sec_add_link_key_cb_t回调函数的link_key(长度16)参数即是link key;
打开微信,使用“扫一扫”即可关注