什么情况下,软件定时器被全部杀死

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
3个帖子/ 0个新
最后发表
李阳
离线
最后看到:7个月,3个星期前
专家
加入:2014-09-24 11:51
什么情况下,软件定时器被全部杀死

我的主板上面的工作流程:DA14580作为从机与另一个型号的单片机进行串口通讯,DA14580由外部上升沿电平触发唤醒后接收串口数据。接收完数据后进入休眠。外部主机每隔1 s对DA14580进行一次唤醒并以9600年波特率发送8个字节的数据。之后DA14580进入延长睡眠模式。

我用多个样机进行测试的时候,发现串口通讯5分钟左右后,DA14580的功耗不再动态的变化而是维持在400 ua左右。跟踪发现用于定时使DA14580进入延长睡眠模式的软件定时器被杀死了(失效了),导致了DA14580没进入延长睡眠模式,此时DA14580功能还是正常的。进一步跟踪发现其他所有软件定时器也都失效了。

一开始我怀疑是低频RC (32 khz)不稳定,于是我在主板上添加了32 k晶振时钟,结果并没有改变。然后我又进行了进一步实验,发现只串口有收发数据的时候,才会出现5分钟左右软件定时器都被杀死的情况。如果串口不收发数据则软件定时器工作正常。

请问上述问题我该如何追踪?

设备:
李阳
离线
最后看到:7个月,3个星期前
专家
加入:2014-09-24 11:51
进一步测试发现如下问题,因为1 s发送一次数据

进一步测试发现如下问题,因为1 s发送一次数据,发送前DA14580唤醒,接收完成后DA14580又重新进入延长睡眠,如果DA14580一直唤醒,而不是进行频繁的唤醒和休眠,就不会出现异常。

PM_Dialog
离线
最后看到:11小时4分钟前
工作人员
加入:2018-02-08 11:03
嗨,李阳,

嗨,李阳,

这是我们的英语论坛,客户用英语提问。所以,请试着用英语翻译你的问题。否则,你可以在我们的中文论坛上发表你的问题。

谢谢,PM_Dialog