如何修改看门狗时钟

7个帖子/ 0新
最后一篇
兰迪宇
离线
最后一次露面:2年9个月前
加入:2015-01-28 08:49
如何修改看门狗时钟

我有#define cfg_wdog在我的项目中,并设置WatchDog_default_Period 0xff,
但是当我启动程序时,程序将转到nmi_handlerc。
我的代码可以在定义CFG_WDOG之前运行好运行,所以我认为超时值很小。
但似乎0xff是它可以设置的最大值。
所以我想问你,如何将看门狗时钟更改为小

设备:
mt_dialog.
离线
最后一次露面:1个月4周前
职员
加入:2015-06-08 11:34
嗨兰迪宇,

嗨兰迪宇,

看门狗定时器是一个带有10.24ms时钟的8位计数器,并且通过将0xFF值作为重载值将0xFF值置于重新加载值,最大值为2.6秒超时,您无法更改源时钟或放置更大的值。是您的连接间隔还是广告间隔,允许您的设备保持连接,并使设备占用的设备占用,而不是BLE事件?我的意思是,如果您的设备在没有看门狗的情况下正常运行,并且能够保持连接和看门狗,那么您就可以获得NMI_Handler,我假设您拥有长时间的其他处理活动的580,但不够长失去连接。在这种情况下,您必须刷新,冻结或运行看门狗,同时通过执行代码(从代码处理看门狗计时器)占用您的设备占用。在SDK中,如果设备操作看门狗,则在Main_func()函数的末尾保持重新加载如果您阻止处理该行以重新加载看门狗,则将发生NMI。

谢谢mt_dialog.

兰迪宇
离线
最后一次露面:2年9个月前
加入:2015-01-28 08:49
谢谢对话:

谢谢对话:
我在你说的时候修改了,
我添加if(use_wdog)
wdg_reload(watchdog_default_period);
问题已经解决了。但在几分钟后,程序已经死了,但根本没有重置。
我说,因为掌握无法搜索我的奴隶,从而奴隶也不能去睡眠,电流是固定的852μA。

mt_dialog.
离线
最后一次露面:1个月4周前
职员
加入:2015-06-08 11:34
嗨兰迪宇,

嗨兰迪宇,

你得到什么错误?由于看门狗超时,一个nmi?这意味着您的代码在某处陷入困境而无需重新加载看门狗的值。重置意味着引导加载程序将运行(如果您未定义的development_debug,否则它将堆叠到nmi_handler),如果无法从设备启动,将继续执行引导加载程序。

谢谢mt_dialog.

兰迪宇
离线
最后一次露面:2年9个月前
加入:2015-01-28 08:49
是的,我知道什么看狗

是的,我知道使用什么手表狗。
我问题是:如果我没有设置扩展睡眠模式,程序将是OK.After几个小时的测试,它仍然很好。但是当我设置设备以扩展睡眠模式时。经过几分钟后,测量的CREN I为890μA(固定,所以我认为它已经死了, - 在睡眠模式下电流为8.5μA,当唤醒模式时,电流约为140μA)
我不知道如何检查问题,所以我想要启用手表狗。但是当它死了时,手表狗不能重置并启动设备(当前固定在890μA,没有通告发送)。
如果我想使用看门狗,我只用来定义cfg_wdog是可以的吗?或者有任何其他配置需要定义?

兰迪宇
离线
最后一次露面:2年9个月前
加入:2015-01-28 08:49
我应该需要诺维

如果定义WatchTdog,我是否需要undef development_debug?

Gongyu_dialog.
离线
最后一次露面:3天17小时前
加入:2016-04-27 07:07
是的,否则会破裂,

是的,否则会突破,并转到硬盘