嗨对话框,
有时我们发现设备下降,手表狗不起作用。
电视层面未经唤醒,是因为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 WatchDog,每个任务应为此注册它服务并进入特定看门狗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.