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.

[参考译文] CC2650:广播的手动触发器

Guru**** 2577385 points
Other Parts Discussed in Thread: BLE-STACK

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/565199/cc2650-manual-trigger-for-advertisement

器件型号:CC2650
Thread 中讨论的其他器件:BLE-STACK

我想了解是否有办法手动触发 BLE 广播、而不是由 BLE-STACK 定期处理? 例如、有一个中断例程、在运行时会触发要发送的单个广播?

我一直在快速浏览 BLE SDK 代码、但无法确定广告的实际调度位置-但我怀疑堆栈中没有源代码的部分会发生这种情况?

任何指示或想法(如果不可能的话、也可以只是确认)都受到高度赞赏-提前感谢!

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

    虽然没有这方面的示例代码、但这是可能的。 请参阅以下主题: e2e.ti.com/.../554342

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

    您好、Simon、

    否、这由基于库代码(无源代码)的双栈中的链路层处理。 但是、您可以尝试启动广播并设置回调、以便在广播事件完成后通知应用程序(请参阅 TI_BLE_Vendor_specific HCI_Guide.pdf 中的 HCI_EXT_AdvEventNoticeCmd)、然后停止广播。 您可以使用以下命令控制广播状态:

    uint8_t advertEnabled = true;//打开广播
    GAPRole_SetParameter (GAPROLE_advertise_enabled、sizeof (uint8_t)、&advertEnabled); 

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

    谢谢! 实际上、我已经了解了该线程-我的问题应该更具体一些-但我希望能够尽可能少地触发广播、基本上绕过这些堆栈调度、 听起来好像链接解决方案(打开广告、然后在第一个广告发布后立即将其关闭)并不能实现这一点、可悲的是。 我必须尝试一下、看看实际的延迟是多少。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Erik、

    谢谢! 这证实了我的怀疑。 正如 Nathan 所说的、我希望能够以尽可能少的延迟触发广告、基本上绕过这些堆栈的调度-您是否知道您建议的方法会有什么预期的延迟? 我假设调度在这里完全有效、包括随机延迟?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您的终端应用是信标、那么您可以查看我们仅使用射频驱动器生成的信标示例。 在此示例中、您将完全控制广播时间。 github.com/.../beacon_rfdriver

    如果您的最终应用不止此、则必须使用我们的 BLE 堆栈并按照 Erik 的建议进行操作