Thread 中讨论的其他器件: BLE-STACK
工具/软件:TI-RTOS
您好!
向外设添加观测器功能时遇到问题。 以下是我的情形:
我的 cc2650stk 上有一个用作双外设的应用。 (让我们将此器件称为 A)
当被连接至一个中央(器件 B)时、它们一起等待一个触发事件、并且只要触发事件出现、器件 A 和 B 就以持续的间隔交换信息。
我想在该设置中添加一个信标、当存在该设置时、该设置会提供触发事件。
基本而言:
1) 1)开始:器件 A ->连接到器件 B ->已连接
2) 2)连接时:设备 A ->扫描信标
3)扫描找到信标时:设备 A ->向设备 B 发送通知
4)如果扫描停止事件->在任务上下文中立即重新启动扫描
在添加扫描功能之前、应用程序工作正常。
我的问题是:
如果我连续且不成功地扫描一段时间、我会得到一个不精确的总线访问故障、这是由双栈任务引起的(当我没有观测器功能或唯一观测器运行时不会发生这种情况)
如果我扫描成功一段时间(存在信标、因此与 B 进行了通信)、我会从堆栈中获得 hal_dassert 中止。 (没有扫描就不会发生的事情)
如果我 在20到30秒的间隔内打开/关闭信号灯、一切看起来都正常...
我真的不知道如何解决这个问题。
如何将观测器添加到外设:
我的 basicall 将外设和观测器的角色任务合并为一个新的角色任务(并将这些事件的处理功能添加到类似于 simple_peripheral/simple_observer 等的应用任务中)。
我使用 peripheral +观测器角色选项重新编译了堆栈。
禁用已看到广播的过滤(以便我可以从同一信标看到连续流)。
请帮助。
此致
