嗨对话框,
有时我们发现设备下降,手表狗不起作用。
也许设备不再醒来是因为32.768KHz晶体振荡器(XTAL32K)停止工作。
根据“从系统级ESD事件恢复AN-B-056DA14681 .PDF”,替代解决方案是:使用内部RCX振荡器。
1。如果我使用RCX作为LP_Tick,我该怎么注意,它会影响BLE宣传等其他功能吗?它对其他功能有多糟糕?
2.当设备在PM_Mode_extended_Sleep上工作时,手表狗继续工作?如果它仍然有效,那么时钟源是什么(是lp_tick?)。它的计数期仍然是10.24毫秒?并且还会触发一个nmi_handler来默认看门狗ISR()?
3.为什么要在一些任务中暂停观看狗:
/ *在每个循环上通知观看狗,因为这没有其他触发器。* /
sys_watchdog_notify(wdog_id);
/ *在OS_TASK_NOTIFY_WAIT()上阻止任务暂停监视。* /
sys_watchdog_suspend(wdog_id);
/ *
*等待任何事件组位,然后清除它们。
* /
Xresult = OS_TASK_NOTIFY_WAIT(0x0,OS_TASK_NOTIFY_ALL_BITS,&ULNOTIFIONVALUE,
OS_TASK_NOTIFY_FOREVER);
/ *保证成功以来我们正在为通知等待* /
os_assert(xresult == os_ok);
/ *简历看狗监测。* /
sys_watchdog_notify_and_resume(wdog_id);
谢谢!
设备:
嗨索引219,
1.使用RCX而不是XTAL32的广告中没有副作用,唯一的效果是RCX的功耗略微增加,而不是在所有情况下,它不是那么准确到XTAL。它被称为低功耗时钟,但它不会为RTC等应用程序。亚博国际官网平台网址
2.否,当设备处于睡眠模式时,看门狗在设备唤醒时冻结并重新启动。
3.有关监管机构API在任务,这是一个系统,以监控任务的正确执行,系统采用h / w监督在顶层的监督硬件和每个任务应该注册它的自我服务和获得一个特定的监督id以被监控。看门狗在OS_TASK_NOTIFY_WAIT()之前挂起的原因是,如果你不挂起特定id的看门狗,那么看门狗就会在任务阻塞等待通知时继续计数。因此,由于你知道任务不会很快运行,因为它等待来自另一个任务的通知,因此sys_watchdog_notify()不会被调用,你将不得不暂停看门狗,以避免重置。
谢谢mt_dialog.
嗨,mt_dialog
当设备进入睡眠模式时,看门狗自动使用SDK或硬件软件冻结?当设备醒来时,还要重新启动看门狗?
另一个问题,使用“pm_set_wakeup_mode(true)之间的区别是什么?”和“pm_set_wakeup_mode(false);”;应该注意什么?
void pm_set_wakeup_mode(bool wait_for_xtal16m)
{
......
pm_wakeup_mode_is_xtal16 = wait_for_xtal16m;
......
}
古兴,
当设备睡觉时看门狗通过硬件关闭,当设备处于睡眠模式时,它会关闭其断电,并且一旦硬件唤醒,它就会通电。
关于pm_set_wakeup_mode(),如果设置为true,68x将等待XTAL16解决,然后启动运行FW,如果为false,则设备将与RC16一起恢复,而无需等待XTAL16即可解决它确实会切换到XTAL16。
谢谢mt_dialog.
嗨,mt_dialog
如果我使用pm_set_wakeup_mode(false),我应该注意什么,或者它可能会给系统带来一些不稳定的因素吗?
此外,我如何获得关于看门狗或任何其他功能的更详细的序列?我认为DA14681数据表太简单,无法帮助我平稳地发展它。是否有一个像“用户手册”这样的文件,可以告诉更多函数的详细信息。
古兴,
您没有特别的侧面需要,如上所述,这只是为了恢复有或没有XTAL16的FW,例如,如果您想拥有SPI交易,则没有通知等待XTAL16,但如果您有一个UART交易那么你应该等待xtal定居。只要XTAL16结算,就可以使用,并且这是从SDK被关心的。
关于看门狗,没有关于看门狗的其他信息,所有信息都位于数据表中。
谢谢mt_dialog.