TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310: 看门狗复位问题

Part Number:CC1310

我在CC1310使用看门狗,看门狗周期设置为8S,看门狗回调里面喂一次狗,然后在main函数里写一个空的while(1),程序会每8s进入一次回调,不会产生复位。如果在回调里不喂狗,他会在第一次8S溢出时进一次看门狗回调 ,然后会一直进看门狗回调,直到第二个8S产生复位。请问这正常吗?

Nick Sun:

您好,

根据CC1310的 CC13x0, CC26x0 SimpleLinkTm Wireless MCU Technical Reference Manual (Rev. I) (英文)其中15.1看门狗介绍的部分,如下图:

其中有说到:WDT 可以配置为在其第一次超时时向控制器生成中断,并在第二次超时生成复位信号。

所以您上述遇到的情况属于正常的。

,

? ?:

那就是说清看门狗的API也会把这个累计两次复位的计数也清除吗?

,

Nick Sun:

您好,

? ? 说:累计两次复位的计数

看门狗定时器计数周期实际上是计数了两次周期。一个周期计数结束进入中断后等于开始重新计数。

清看门狗的API使用的话会清除计数等于从头定时。

,

? ?:

你好,那也就是说,如果我在看门狗回调里调用了清看门狗的API,那就会导致看门狗不起作用了是吧。

,

Nick Sun:

? ? 说:看门狗回调

您这个看门狗回调是指第一次看门狗进入的中断吗?

? ? 说:会导致看门狗不起作用了

不是说不起作用,只是从头计数。

,

? ?:

比如说我程序跑到某个地方卡死了,等超时触发了看门狗溢出,本来看门狗的作用是想防止程序卡死,但是在回调里清了看门狗,导致程序一直卡死无法复位,那不是就是起不到作用了吗。

,

Nick Sun:

您好,

您请稍等,我这边需要花一点时间查看这个问题,有结论联系您。

,

? ?:

你好,请问有结论了吗

,

Nick Sun:

您好,

收到工程师的回复:

为了产生复位,必须启用看门狗配置寄存器的 RESEN 位:

您可以展示您配置看门狗的代码吗?

,

? ?:

,

Nick Sun:

您好,

工程师会查看您的代码,顺便还想询问您,看门狗的SDK示例在您的板子上跑是正常的吗?

,

? ?:

你好,请问芯片休眠期间,看门狗还在计时工作吗?

,

Nick Sun:

您好,

您所指的芯片休眠期间时standby模式下吗?standby模式下没有看门狗。

,

? ?:

好的,谢谢。

如果我是进入了硬件错误或者系统错误的时候,看门狗还有效吗。

,

Nick Sun:

您好,

您所说的进入了硬件错误或者系统错误的时候如果是在standby模式下,看门狗是无效的。只能通过debug等其他方法介入。

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: 看门狗复位问题
分享到: 更多 (0)