我正在尝试构建一个系统、在该系统中、我将尽可能快地在具有 BLE Stack 1.4.0的 CC2540上发现器件(以观测器角色)。 虽然我显著改进了发现流程、但仍然存在一些小问题。
我想在发现 GAPOBSIERVERROLE_MAX_SCAN_RES 中指定的器件数量后立即取消当前发现(在本次讨论中、假设为8)。 换句话说、当我在事件 GAP_DEVICE_INFO_EVENT 中进行回调并且知道这是最后一个器件时、我没有太多等待的时间、我想取消当前的发现、以便我可以立即开始新的发现。
唯一的问题是 、为给定器件的广播调用 GAP_DEVICE_INFO_EVENT 一次、如果有、则可能再次调用 GAP_DEVICE_INFO_EVENT。 同一器件的广播和扫描响应显示为两 个单独的 GAP_DEVICE_INFO_EVENT 事件。 如果我接收到广播并且是第8个器件、我可以取消发现、但很可能会跟随扫描响应、也可能没有扫描响应。 如果有扫描响应、这是我不想丢失的重要信息。 在这种情况下、取消发现的最佳方法是什么?
感谢您的回答。
此致、
KK