主题中讨论的其他器件:CC2650、 CC2650STK
大家好、
我正在使用 CC2650 Launchpad 并借助 BLE SDK 2.2.1开发一个项目。 我的项目从额外的示例 GitHub 页面(github.com/.../ble_examples)中以多角色示例的形式启动 、但自那时以来已进行了修改。 我尝试连接到 SensorTag 器件以读取温度值。 我使用断点进行所有调试、无法设置到控制台的打印、并且没有数据包监听器。
我在查找 SensorTag 时从未遇到过问题。 我处理 GAP_DEVICE_INFO_EVENT 事件、直到找到名称匹配的器件。 当 GAP_DEVICE_DISCOVERY 事件发生时、我启动计时器500ms。 当调用计时器回调时、我设置全局标志、然后调用 Semaphore_post (sem)来唤醒应用程序线程。 任务函数检查标志并使用 对等地址和来自具有匹配名称的器件的地址类型调用 GAPRole_EstablishLink。 过去、我没有计时器系统、 GAPRole_EstablishLink 在 GAP_DEVICE_DISCOVERY 的处理程序内被调用 。 我从未遇到过调用 GAPRole_EstablishLink 的问题。
问题是、有时在我调用 GAPRole_EstablishLink 后、似乎什么也不会发生。 我不会接收 GAP_LINK_established 事件或 GAP_LINK_TERMINATED_EVENT 事件、SensorTag 上的绿色 LED 继续闪烁、表示仍在广播。 当它正常工作时、它将持续工作、然后突然停止、我将无法使它再次工作。 有时、我发现在启动 launchpad 扫描后启动 SensorTag 广播效果会更好。
提前感谢您提供的任何帮助。 我很乐意提供所需的任何其他信息。