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.

[参考译文] RTOS/CC2650:在通告处更新 advertData[]

Guru**** 2555630 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/580689/rtos-cc2650-update-advertdata-at-advertismenet

器件型号:CC2650

工具/软件:TI-RTOS

您好、再说一次、

在 ProjectZero 中、如何在每次广播时更新 advertData[]? 默认广播间隔为100ms、将其更改为1、我希望在每个新广播间隔中广播其他内容。

希望我能说明自己、

谢谢!

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

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

    嗨、Marie、

    我已经在这么做了。 在 user_processGapStateChangeEvt 中

    案例 GAPROLE_advertising:
    {
    int A[3]={0x64、0x65、0x66};
    advertData[8]= a[nr % 3];
    NR++;
    GAPRole_SetParameter (GAPROLE_adverted_data、sizeof (advertData)、advertData);
    log_info0 ("广告");
    } 

    但我可以看到、只有在斩波并重新启动广告后、它才会发生变化。 一个更好的问题是"ProjectZero 中的何处应更改 advertData[]?"

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仅当 GAP 状态发生变化时、才会执行此"案例 GAPROLE_advertising:"。 要更改 advertData、应调用"GAPRole_SetParameter (GAPROLE_advert_data、sizeof (advertData)、advertData)"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我希望在每个广播间隔后进行更改、但我无法在代码中找到发生这种情况的位置。

    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有用于通知每个广播的回调函数、因此您可以尝试创建周期性事件(例如1秒)、以调用"GAPRole_SetParameter (GAPROLE_advertise_data、sizeof (advertData)、advertData)"来更改 advertData。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    simpleBLEperipheral.c 中  、使用以下命令创建周期性事件:

    OSAL_START_timerEx (); 

    但是、此函数需要一个"taskID"、我在 projectZero 中找不到它。

    在 simpleBLEPeripheral.c 的另一个版本中  、使用创建周期性事件:  

    Util_startClock(); 

    这对我来说有点难做到...

    您建议使用哪种选项?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Matei:
    使用 util 时钟、使用起来更简单。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marie、

    Util_constructClock (myClockStruct、myFxn、1000、0、true、 null); 

    但不会发生任何情况、"myFxn"永远不会被调用。

    谢谢!

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

    尊敬的 Matei:

    您还必须使用启动时钟

    Util_startClock (&myClockStruct);