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.

[参考译文] CC2564CMSP432BTBLESW:由于路径丢失而导致断开连接后丢弃某些消息

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1276500/cc2564cmsp432btblesw-some-dropped-messages-after-disconnection-due-to-path-loss

器件型号:CC2564CMSP432BTBLESW
主题中讨论的其他器件:CC2564C

您好!

我正在使用含有 CC2564C 和 MSP432控制器的 BDE-209器件。  我使用的是最新的 Bluetopia 栈(v5.1.1.0)。  初始连接时、我没有看到任何丢弃的消息。  如果我引入一些路径损失、比如断开连接设备的天线、导致断开、然后重新连接天线、那么在重新连接后、即使连接强度完全恢复、我也会开始看到零星的丢失消息。  重新连接使用定向扫描例程。  我们使用 SPP 在两个节点之间传输串行数据。

我检测了我的代码以记录 BDE 模块的应用级别的消息,我看到我们将数据传递给 SPP_BLDC Data_Write ()的实例,但这些数据从未出现在连接的设备上。  我还看到一些实例、其中连接的设备显示它发送了一条消息、但我没有看到该消息显示在 BDE 模块中。  同样、这似乎只有在重新连接和两个器件完全复位后才会发生、并且连接似乎可以解决问题。  大多数数据都能正确传输。  此外、似乎在这种状态下丢失 一些消息 A 之后、可能会更糟、因为许多消息丢失、甚至连接也会丢失(我们有意断开是因为丢弃了太多消息)。

调用 SPP_SPP( Data_Write )后,我观察到返回值,即使在已连接设备上没有显示消息的情况下,我仍然看到返回值等于消息长度(从不是负值)。  我已经尝试 Purge_Buffer 在模块开始丢失消息时使用 SPP_SPP_PURE_MASK_TRANSMIT_FLUSH_BIT (SPP_PURE_MASK_BIT)、但似乎没有任何帮助。

我还注意到,当我将路径损失转移到极端时,例如,在连接设备的天线完全断开的情况下,从溴化二苯醚模块发出的信息仍会将其发送到连接的设备,但会延迟。 我知道这是由于重新传输而产生的预期行为。  但是、对于上面提到的错过的消息、我不会看到同样的重新传输发生。  我想与大家分享这个、以防它有助于解决这个神秘问题。

重新连接后、是否可以对 Bluetopia 栈的其他元素进行复位以清除任何旧的数据/设置? 您对其他事情有什么建议可以尝试吗?

提前感谢!

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

    Greg、您好!

    我已将此模块分配给了我们的一位蓝牙软件工程师、请允许直至明天再解答。

    什洛米