我创建了一个连接 - 超时计时器,如下所示
app_timer_set(app_ble_dev [device_number] .timer,task_app,700);// 7秒
其中针对可以同时连接的每个设备定义了连接定时器ID。在这种情况下,还有一个设备正在尝试连接。所以周期是:
扫描
停止扫描
调用app_timer_set.
尝试连接
在超时电话取消
在EVT完成回调案例直接连接取消重复循环(开始扫描)
该序列可能永远重复。但在n个循环(其中n范围为2到15+),信号通知硬盘。没有指示错过了发生故障的方法。
如果我没有尝试与超时的连接,则循环能够永远重复(据我愿意等待)。
我在这里错过了一步吗?虽然我没有连接,但我还需要调用断开连接方法吗?我需要取消计时器(正如我在成功的连接上所做的)吗?

当连接成功或因超时而导致的原因取得成功或失败时,您是否清除了计时器?
“在EVT完成回调案例直接连接取消重复循环(开始扫描)“ - 我不能彻底破译......
是的,我清除了计时器。到目前为止,连接失败仅是由于超时。我明白定时器是否有效,如果是我清除它。
当直接连接事件报告为已完成时,我在最后一行中陈述了什么(在这种情况下完成,因为我取消了自定时后取消连接),我重复循环。我重新启动扫描,扫描停止时10秒后。尝试连接到已发现并断开连接的设备。如果设备不存在,则连接超时。我取消了连接事件,我在直接连接完成事件中获取取消指示,然后我重新启动扫描等。循环无限期地重复......或者至少应该。最终我得到了一个难倒的错,但没有指示正在执行的方法导致硬故障。因此,它听起来像建立的资源,最终崩溃系统。
我仍然收到这个错误。有人可以做些什么来更好地了解导致硬断层的原因?执行的最后一行代码,方法中的方法等等?