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.

[参考译文] CC2340R5:连接参数更新

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1428290/cc2340r5-connection-parameter-update

器件型号:CC2340R5

工具与软件:

您好!

CCS 版本:12.7.1.

SDK 版本:8.10.01.02

项目: basic_ble

SYSCONF:
启用的外设+中心角色。

我将设备连接到中央设备。
连接后、我执行"Connection Parameter Update"。

//设置低速
gapUpdateLinkParamReq_t 参数;
params.connectionHandle = gattMsg->connHandle;
params.connTimeout = 3200;
params.intervalMin = 3200;
params.intervalMax = 3200;
params.connLatency = 0;
Status = GAP_UpdateLinkParamReq (&P);

执行 状态=成功后。

1)我通过功耗监控 Connect 的频率。

1-将设备连接到 Central
100мс 连接定期检查(μ s)

如果在连接后未调用 Connection Parameter Update、则不会发生任何变化。

2)出于某种原因,执行连接参数更新后,没有事件,无论是确认更改还是取消更改。



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

    您好!

    感谢您联系我们。 我们将查看此内容、并尽快与您联系。

    此致、

    1月

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

    你好、Ivan

    我不确定我是否理解您所描述的问题。

    1. 当你在你的能量曲线图中调用 GAP_UpdateLinkParamReq ()? 是否在建立连接之前有第1节?
    2. 您的意思是在执行 GAP_UpdateLinkParamReq ()后,您没有收到 BLEAPPUTIL_LINK_PARAM_UPDATE_EVENT ?

    BR、

    David。

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

    David、您好!
    要控制连接参数更新、请使用 STM32CubeMonitir-Power 程序。
    1)我连接设备-在屏幕上标记为1.
    2)我收到 BLEAPPUTIL_LINK_REACTURED_EVENT 事件-标记为2。 我观察到100ms 的频率。
    3) 3)接收到 BLEAPPUTIL_LINK_ACTUDEATED_EVENT 事件后、我调用 GAP_UpdateLinkParamReq。 我观察到频率为4秒

    通常、连接频率在100ms 保持不变。
    由于我的设备由电池供电、因此能耗对我来说非常重要。
    因此、我需要检查是否安装了新参数。
    但不会出现有关参数更改的事件、也不会出现有关参数更改失败的事件。

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

    你好、Ivan

    您能否确认您的连接处理程序已订阅 GAP_LINK_PARAM_UPDATE_EVENT 或 BLEAPPUTIL_LINK_PARAM_UPDATE_EVENT (在 bleapp util 上下文中)? 然后、我预计会在 Connection_Conn handler 回调函数内触发类型为 BLEAPPUTIL_LINK_PARAM_UPDATE_EVENT 的事件。 进入后、可以解析传入数据、例如 gapLinkUpdateEvent_t * pPkt =(gapLinkUpdateEvent_t *) pMsgData;并检查结构的状态代码。 您能否查看一下您是否能够达到这一点?

    BR、

    David。

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

    David、您好!



    我没有到达断点(第179,195行)。


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

    你好、Ivan

    感谢您确认这一点。 我建议采取以下行动:

    1. 使用函数 BLEAppUtil_paramUpdateReq ()或类似的实现,在调用 GAP_UpdateLinkParamReq ()之前验证连接是否处于活动状态,以进行完整性检查。 你的参数更新结构应该有这样的结构(你可以从 linkDB_getinfo()中获得 connectionHandle )。
        gapUpdateLinkParamReq_t pParamUpdateReq =
        {
         .connectionHandle = xxxx,
         .intervalMin = xxxx,
         .intervalMax = xxxx,
         .connLatency = xxxx,
         .connTimeout = xxxx
        };
    2. 请确保您是在 BLE 上下文中调用更新参数请求、我不知道您在代码中的哪个位置调用 GAP_UpdateLinkParamReq、因为您提到了它是在接收到 BLEAPPUTIL_LINK_POSTED_EVENT 后调用的。
    3. 您是否具有可以用来了解无线传输情况的蓝牙监听器?

    BR、

    David。