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:设置 appMainParams 的 periConnParamsattn##39;t work。

Guru**** 2341440 points
Other Parts Discussed in Thread: LP-EM-CC2340R5
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1448030/cc2340r5-setting-the-periconnparamsatt-of-appmainparams-didn-t-work

器件型号:CC2340R5

工具与软件:

尊敬的团队:

SDK:8.10

器件:LP-EM-CC2340R5

我正在使用 basic_ble、并想通过在 BLE3073 Util_General 357ams_t appMainParams 上设置值来更改 GGS 参数。 请参阅代码片段。

BLEAppUtil_GeneralParams_t appMainParams =
{
    .taskPriority = 1,
    .taskStackSize = 1024,
    .profileRole = (BLEAppUtil_Profile_Roles_e)(HOST_CONFIG),
    .addressMode = DEFAULT_ADDRESS_MODE,
    .deviceNameAtt = attDeviceName,
    .pDeviceRandomAddress = pRandomAddress,
    .periConnParamsAtt = {20, 50, 0, 200}
};

但是、它不起作用。

我是否使用正确的参数进行设置?

谢谢!

BR、

Connor

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

    您好、Connor、

    外设只能建议其首选的 conn 参数、但将由中央来决定最后使用哪个参数 我建议在两个设备都已连接后尝试 GAP_UpdateLinkParamReq (),如下所示:

    #define RC_IDLE_TIMEOUT         5000 // 5 seconds
    #define CLOCK_UNITS_MS          1000  // convert to ms
    static ClockP_Struct rc_parmupdate_clkStruct;
    ClockP_Handle rc_parmupdate_clkHandle;
    ClockP_Params clockpParams;
    
    // Kick off timeout for requesting parameter update
    static void rc_parmupdate_clkHandleCB(void)
    {
        gapUpdateLinkParamReq_t pParamUpdateReq =
        {
         .connectionHandle = 0,
         .intervalMin = 6,
         .intervalMax = 6,
         .connLatency = 200,
         .connTimeout = 600
        };
    
        GAP_UpdateLinkParamReq(&pParamUpdateReq);
    }
    
    void config_parmupdate(void)
    {
        ClockP_Params_init(&clockpParams);
        uint32_t clockTicks = RC_IDLE_TIMEOUT * (CLOCK_UNITS_MS);
        clockpParams.period = 0;
        clockpParams.startFlag = true;
        clockpParams.arg = (uintptr_t)rc_parmupdate_clkHandleCB;
        rc_parmupdate_clkHandle = ClockP_construct(&rc_parmupdate_clkStruct, (void *)BLEAppUtil_invokeFunctionNoData, clockTicks, &clockpParams); // Initialize clock instance.
    }

    BR、

    David。