This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
开发使用的SDK 是 :
情况1:主机主动断开连接,从机没有进去GAP_LINK_TERMINATED_EVENT,
情况2:因为某种干扰原因,从机断开了但是也没有进入GAP_LINK_TERMINATED_EVENT,
在上述可能的情况下,我用时钟每隔500毫秒调用一次linkDB_NumActive();发现返回值是1. (挂示波器去观察电流消耗,发现没有广播,也不处于连接状态,此后这太从机就处于一种不能被连接的状态,只能重启板子才能恢复)
目前观察到的现象是这样的,我想问有没有API 能确切的反应当前的连接状态?
因为即使我调用linkDB_State();去查看,协议栈也是返回的一个正处于连接的情况,实际上无线已经断开了。(示波器可以观察到)
主要是我主机明明是断开了,从机却没有接收到GAP_LINK_TERMINATED_EVENT,即使timeout时间到了也没有收到。这个时候从机处于一种很奇怪的状态,(无广播,不能被连接,并且调用linkDB_NumActive();返回时1),从机挂示波器的话发现根本没有广播信号,也没有处于连接状态,反而是处于一种非常低功耗的类似睡眠状态
从机的这种状态和挂掉没区别啊,但是从机的程序时正常运行的,我通过一个状态灯的闪烁可以看到。这种状态要恢复的话只有重启板子。并且这种现象发生的概率不定,有时候是几天发生。但是这个时候我们又不可能进机房去重启这个开发板,问题比较棘手,希望能给一些建议啊
你好,今天做测试发现了新的现象,设备运行了20多个小时候,其中一个从设备出现了异常,应该是从机进入死循环或者说死机了。(系统里面定时的timer进去不了)
目前重启可以恢复,我是否应该加看门狗去测试一下?
之前有发生过类似的情况吗?peripheral 运行一段时间后死机
想了一下还不能用看门狗,它重启会改变IO状态。我的从设备代码修改过,主要是新的IO口的修改,还有连接参数。目前硬件用的是TI的LUNCHPAD。
1.修改了IO,参照之前你们提供的方法。
2.修改了连接参数,屏蔽了连接参数请求。(由主机决定)
3.只填加了一个可读可写可以notify的特征值。
4.增加了一个timer 去检测连接状态。
目前我将power saving屏蔽掉了测试,看看还会不会有问题,应为之前看你们其它帖子,有的说是这个问题。对于heap的配置,我检查过没有问题。
我的这个应用比较特殊,会涉及高频的连接与断开。