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-Q1:HCI 命令执行后 ADV 传输的地址模式

Guru**** 2763595 points

Other Parts Discussed in Thread: SYSCONFIG, CC2340R5-Q1

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1604352/cc2340r5-q1-address-mode-for-adv-transmission-after-hci-command-execution

器件型号: CC2340R5-Q1
主题中讨论的其他器件: SysConfig

您好:
我目前使用的是 SDK 版本 9.11。

在 SysConfig 中、我选择了 Role:Peripheral 和 Address Mode:Random Address。

 

在初始化之后、直到 HCI 命令操作之前、会使用配置的随机地址输出 ADV 传输。

但是、在执行 HCI 命令操作后、出于某种原因、ADV 传输是使用公共地址输出的。  

 

作为参考、我仅执行 HCI 命令“HCI_EXT_ModemTestTxCmd"来“来启动未调制输出、然后执行“HCI_EXT_EndModemTestCmd"来“来停止未调制输出。

 

请告诉我如何即使在执行 HCI 命令后也继续使用随机地址传输广播包。

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

    您好:

    为了更好地帮助您、我需要更多信息。

    您的工作基于什么示例?

    使用任何 HCI 命令或仅使用“HCI_EXT_ModemTestTxCmd"时“时、您看到这种情况吗

    此外、您能否发送 SysConfig 设置的屏幕截图、特别是 BLE General Configuration 和广播集(参数和数据)?

    谢谢您、
    Josh Alderson  

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

    感谢您发送编修。

    要回答您的问题、样本是“Basic_ble “。

    不过、我做了一些修改、包括与另一个 IC 进行有线通信、因为 CC2340R5-Q1 的运行由通过从另一个 IC 接收到的有线通信数据决定。

    HCI 命令是其中一个。

    我尚未尝试其他 HCI 命令、因为我目前没有能力这样做。

    我在下面附上了所需的屏幕截图。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、我做了一些修改、包括与另一个 IC 进行有线通信、因为 CC2340R5-Q1 的运行由通过从另一个 IC 通过有线通信接收到的数据决定。

    您能解释一下您的设置、以便我更好地理解吗? 您使用的是什么有线通信? 您如何与 BLE 栈交互?   如果您只是尝试发送 HCI 命令(将控制器与 BLE 器件配合使用)、我建议查看 SDK 中的 ble_controller 示例并仔细阅读自述文件。

    作为参考、我仅执行 HCI 命令“HCI_EXT_ModemTestTxCmd"
    </s>“

    不应使用此命令、因为它仅用于测试、与您尝试执行的操作不兼容。 此外、此命令不应在任何应用级代码中使用

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Josh、
    我们使用 UART 进行通信、但采用专有协议。 应用程序在内部确定数据分配、并决定要执行哪个 HCI 命令或用于 ADV 传输的 PDU 类型。 因此、我们与 BLE 栈的交互是通过 SDK 中提供的 API 来执行的。

    我们打算将其用作装运前检查的一部分、并将其集成到大规模生产软件中。 这就是为什么、就像我在上一个问题中一样、我想问如何在使用 HCI 命令之前和之后实现相同的操作。

    或者、如您所述、是否禁止从应用程序执行 HCI 命令?

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

    您好:

    或者、如您所述、是否禁止从应用程序执行 HCI 命令

    您可以在应用程序中执行 HCI 命令、但是、该特定命令是一个测试命令、不应用于生产或应用程序。 如上所述:

    不应使用此命令、因为它仅用于测试、与您尝试执行的操作不兼容。 此外、此命令不应在任何应用程序级代码
    中使用

    关于您的其他问题:

    我们使用 UART 进行通信、但采用专有协议。 应用程序在内部确定数据分配、并决定要执行哪个 HCI 命令或用于 ADV 传输的 PDU 类型。 因此、我们与 BLE 栈的交互是通过 SDK 中提供的 API 来执行的。

    在更改广播的任何参数之前、必须小心禁用广播。  

    此致、

    Josh Alderson

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

    您好、Josh、

    感谢您的及时答复。

    您提到、“该特定命令是一个测试命令、不应用于生产和应用。“ 我对此有三个问题:

    1. 哪些 HCI 命令属于该特定类别? 请列出所有这些选项。
    2. 您能解释一下为什么不应该使用它们吗? 如果使用它们、会产生什么样的影响?
    3. 在应用中、是否有方法可以在任意通道上发送和停止未调制输出来代替“HCI_EXT_ModemTestTxCmd"?“?

    提前感谢您的帮助。

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

    您好:

    建议不要在应用层代码中运行测试相关命令。
    如果您计划在量产器件中使用测试代码、我推荐使用我们的产品测试模式 (PTM) 功能。
    有关这方面的文档可在此处找到: https://software-dl.ti.com/simplelink/esd/simplelink_lowpower_f3_sdk/9.10.00.83/exports/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/ptm-and-dtm.html

    这会将系统配置为允许在更受控的状态下进行测试、而不仅仅是在生产代码中调用测试函数。

     

    此致、
    Josh Alderson