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.

[参考译文] LAUNCHXL-CC2640R2:BLE5.0多角色示例配对失败

Guru**** 2589245 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/600118/launchxl-cc2640r2-ble5-0-multirole-example-pairing-failed

器件型号:LAUNCHXL-CC2640R2

您好!

是否有人可以确认 Ble5_multirole (栈3.0)示例中的配对是否正常工作? 每次与我的手机配对时、"密码不正确"总是会立即失败、而无需等待任何密码输入。

相同的配对模式和设置在 Ble5_Peripheral 示例应用中工作正常(也没有问题、DHOST_CONFIG=PERIODISE_CFG+CENTRAL_CFG)、 仅在多角色模式下才会发生此问题。 我的 SDK 版本是 cc2640r2_sdk_1_35_00_33。

另一个不相关的问题:我尝试使用按钮在 GAP_FILTER_POICE_WHITE 和   GAP_FILTER_POICE_ALL 之间进行切换、下面是我认为应该已经完成的工作:

IF (键和键_右键)

uint8_t whitelistPolicy;
GAPRole_GetParameter (GAPROLE_ADV_FILTER_policy、&whitelistPolicy);
whitelistPolicy =(whitelistPolicy = GAP_FILTER_POLICE_ALL)? GAP_FILTER_POICE_WHITE:GAP_FILTER_POICE_ALL;
GAPRole_SetParameter (GAPROLE_ADV_FILTER_policy、sizeof (uint8_t)、&whitelistPolicy);

如果我在这里错过了一些东西、可以有人指出吗?

谢谢、此致。

天启

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

    您是否对代码进行了任何修改、它是否仅适用于工作配对?

    当器件未进行广播时、应更改广播过滤器策略。 如果使用白色列表、它应该只返回来自白色列表的广播包。 您如何知道它不起作用?

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

    您好、Zahid、

    感谢您的建议。 在测试配对之前、我没有修改任何代码。 即使是"正常工作"配对、我仍然有相同的问题。 以下是我对"仅工作"所做的唯一更改:

    //将 GAP 绑定管理器回调更改为 NULL
    静态 gapBondCbs_t multi_role_BondMgrCs =

    空、//我认为 NULL 在 BondMgr.c 中处理,而将 processPasscodeCB 留在此处也不起作用

    null

    };

    //更改 Gaprole 参数

    uint8_t pairMode = GAPBOND_Pairing_mode_initiate;
    uint8_t MIPTM = false;

    第二个问题在我按照您的建议添加了禁用/重新启用代码后得到了解决、非常感谢!

    uint8_t advStatus = 0;
    GAPRole_SetParameter (GAPROLE_adv_enabled、sizeof (uint8_t)、&advStatus);

    uint8_t whitelistPolicy;
    GAPRole_GetParameter (GAPROLE_ADV_FILTER_policy、&whitelistPolicy);
    whitelistPolicy =(whitelistPolicy = GAP_FILTER_POLICE_ALL)? GAP_FILTER_POICE_WHITE:GAP_FILTER_POICE_ALL;
    GAPRole_SetParameter (GAPROLE_ADV_FILTER_policy、sizeof (uint8_t)、&whitelistPolicy);
    GAPRole_SetParameter (GAPROLE_PARAM_UPDATE_REQ、sizeof (uint8_t)、true);

    advStatus = 1;
    GAPRole_SetParameter (GAPROLE_adv_enabled、sizeof (uint8_t)、&advStatus);

     

    最棒的!