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.

[参考译文] CC2640:简单 NP 停止广播

Guru**** 2551110 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/578674/cc2640-simple-np-stops-advertising

器件型号:CC2640

我们一直在调试一个问题,即 CC2640在断开连接后最终停止广播。 我们将使用未修改的 simple_np v2.2.1、但启用引导加载程序(SNP_SBL_enable)除外。

在断开连接时、我们注意到芯片确实会自动重新启动广播、但如果没有任何连接、最终将停止。 我们已通过 Eliisys BT Explorer 验证了此行为。 当它停止广播时、芯片仍然响应 SNP 命令:我们尝试定期调用 Get GAP 参数、而 SNP 命令继续工作。

下面是我们为广播设置的参数:

广播类型是可连接的非定向类型
广播间隔:152.5ms
-广播行为:RestartConnectableAddisingAfterConnectionTerminated
-未连接时广播数据:
GAP -尾数数据=

.flagsLength = 2、
flagsType = 0x01、
flagsValue = 0x06、//常规发现、无 BREDR

.serviceUIDLength = 3、
.serviceUIDType = 0x03、
.serviceUIDValue ={XX ... }、

.mfgSpecificLength = 20、
.mfgSpecificType = 0xFF、
(笑声)
};
-连接时广播数据:空
-扫描响应数据:
ScanResponse 数据=

.localNameLength = BTLE_PROFILE_LOCAL_NAME_LENGTH_IN_Bytes + 1、
.localNameType = 0x09、
localNameValue =“XXX”,

TxPowerLength = 2、
TxPowerType = 0x0A、
TxPowerValue = 0x00
};

对于常规发现超时(GAP 参数)、我们将其保留为默认值0 (无限期继续广播)。

您对我们如何解决此问题有什么建议吗? 此问题已成为我们的 P0阻止程序。

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

    尊敬的 Andrew:

    几个测试/问题。 这些将帮助我们更好地了解问题的潜在原因

    1.如果禁用 POWER_SAVing,是否会发生这种情况?

    2.您是否有 AP 和 SNP 之间通信的逻辑跟踪或日志?

    3.问题的可重现性如何?

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

    答案和以下更多问题:

    在堆栈或应用中、我们应该在哪里禁用 power_saving?
    2.您希望通信的哪一部分、广播数据的设置?
    3.在足够的时间内,此问题始终可重现。 我们已经看到广告在1分钟后14分钟后停止。 我们使用自己的 iOS 应用和 LightBlue 应用连接到 CC2640、并使用 Ellisys 蓝牙监听器监控广播包。

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

    感谢您的回复。 请参阅以下我的答案:

    1.您可以通过删除 power_saving 定义在应用程序中禁用。
    2.如果您有完整的迹线、则其效果良好。
    3.您是否有方法可以重新创建问题?