主题中讨论的其他器件: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 栈的其他元素进行复位以清除任何旧的数据/设置? 您对其他事情有什么建议可以尝试吗?
提前感谢!