[求助] MSP430FR6972 看门狗不能重新启动程序

放开那个鸡腿   2018-5-29 14:04 楼主

使用WDTCTL = WDT_ARST_1000;设置了看门狗,主循环里WDTCTL = WDT_ARST_1000;喂狗,程序正常工作;

当把主循环喂狗去掉,程序死掉,没有重启,WDTCTL时钟源由ACLK变为默认的SMCLK了,不明白为什么不重新启动


回复评论 (4)

不能这么操作,WDT_ARST_1000是以ACLK作为看门狗时钟的
点赞  2018-5-29 17:12
如果用别的时钟作为看门狗时钟,选择对应的函数即可,头文件里面写的很清楚
点赞  2018-5-29 17:14
引用: qwerghf 发表于 2018-5-29 17:12
不能这么操作,WDT_ARST_1000是以ACLK作为看门狗时钟的

现在我是用WDTCTL = WDT_ARST_1000; 选择ALCK做看门狗时钟,不喂狗,时间到,死机,程序不能重新启动;另外时钟源也被改变了,这个改变不知道是什么导致的

用WDTCTL = WDT_ARST_1000; 喂狗,能清零计数,同时保证看门狗时钟源不变;这样程序可以正常运行
点赞  2018-5-29 18:19
引用: 放开那个鸡腿 发表于 2018-5-29 18:19
现在我是用WDTCTL = WDT_ARST_1000; 选择ALCK做看门狗时钟,不喂狗,时间到,死机,程序不能重新启动;另 ...

调试可以看到死在哪里吗?时钟源改变应该是复位了,可以加入串口打印看看程序是否复位,死在哪里
点赞  2018-5-29 18:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复