This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2640:无法远程更改密钥

Guru**** 2553450 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/581888/cc2640-cannot-change-passkey-remotely

器件型号:CC2640

您好!

我想从启用绑定的已连接设备(智能手机)更改 simpleBLEperipheral 上的默认密钥。 我的 GAP 绑定管理器配置初始化如下:

//设置 GAP 绑定管理器
{
uint32_t 密钥= 123456;// 6位密钥"000000"
uint8_t pairMode = GAPBOND_Pairing_mode_initiate;//GAPBOND_Pairing_mode_initiate;//GAPBOND_Pairing_mode_wait_for_Req;
uint8_t MIPTM = true;
uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8_t 绑定= true;

GAPBondMgr_SetParameter (GAPBOND_DEFAULT_PASSONE、sizeof (uint32_t)、和 PASSKEY);
GAPBondMgr_SetParameter (GAPBOND_Pairing_mode、sizeof (uint8_t)、&pairMode);
GAPBondMgr_SetParameter (GAPBOND_MITM_protection、sizeof (uint8_t)、&MIPTM);
GAPBondMgr_SetParameter (GAPBOND_IO_Capabilities、sizeof (uint8_t)、&ioCap);
GAPBondMgr_SetParameter (GAPBOND_BUSIONIND_ENABLED、sizeof (uint8_t)、&bonding);
} 

但是、当我通过属性从 Android 设备发送新的32位密钥并将其传递给以下函数时:

GAPBondMgr_SetParameter (GAPBOND_DEFAULT_PASSONE、sizeof (uint32_t)、和 PASSKEY); 

。 然后系统崩溃,代码卡在此处:

/ //*
中止-异常程序终止。 当前只是暂停执行。 */
********* /
void abort (void)
{
loader_exit();
对于(;;);/*永久旋转*/
} 

是否可以通过这种方式更新密钥,或者是否需要自己添加一个层来管理用户定义的密钥? 我的项目基于 ble_sdk_2_02_01_18

提前感谢您的帮助

此致、

Robin B.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Robin:

    我建议您通过 passcodeCB 设置密码。 如 需更多信息、请参阅 TI BLE 软件开发人员指南的密码输入部分。 您可以使用远程设备中的值设置密码、而不是设置密码= 11111;如列表69中的示例所示。