嗨,对话框中,
有时我们发现设备坏了,看门狗也不工作。
也许设备不再醒来是因为32.768KHz晶体振荡器(XTAL32K)停止工作。
根据“AN-B-056 DA14681从系统级ESD事件恢复。pdf”,替代方案是:使用内部的RCX振荡器。
1 .如果我使用RCX作为lp_tick,我应该注意什么,它会影响其他功能,如ble advertise吗?它会对其他功能产生多大的不良影响?
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, & ulnotify_value,
OS_TASK_NOTIFY_FOREVER);
/*确保成功,因为我们一直在等待通知*/
OS_ASSERT (xResult = = OS_OK);
/*简历监视狗监控。*/
sys_watchdog_notify_and_resume (wdog_id);
谢谢!
设备:
嗨index219,
1.当使用RCX代替XTAL32时,在广告中没有副作用,RCX唯一的影响是功耗略有增加,并不是在所有情况下,它不像XTAL那么准确。它是合格的BLE低功率时钟,但它不能做的应用,如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);”;又应该注意什么呢?
空白pm_set_wakeup_mode (bool wait_for_xtal16m)
{
...
pm_wakeup_mode_is_XTAL16 = wait_for_xtal16m;
...
}
嗨提到,
当设备进入睡眠状态时,硬件会关闭看门狗,当设备处于睡眠模式时关闭看门狗,当硬件醒来时立即启动看门狗。
关于pm_set_wakeup_mode(),如果设置为真正的68 x将等待XTAL16解决然后开始运行弗兰克-威廉姆斯,如果错误的设备将简历RC16无需等待XTAL16尽快解决,那么它将切换到XTAL16。
由于MT_dialog
嗨,MT_dialog
如果我使用pm_set_wakeup_mode(false),我应该注意什么,或者它会给系统带来一些不稳定的因素?
此外,我如何得到更详细的描述看门狗或任何其他功能?我认为DA14681数据表太简单了,不能帮助我顺利开发。有没有一个像“用户手册”这样的文件,可以告诉它更多的功能细节。
嗨提到,
没有特定的precuations你,正如前面提到的这只是恢复你的弗兰克-威廉姆斯有或没有XTAL16,例如,如果你想要一个SPI的事务没有理由等待XTAL16,但是如果你有一个UART事务那么你应该等待晶体来解决。一旦XTAL16解决了问题,BLE就可以使用,这是由SDK提供的。
关于看门狗,没有关于看门狗的额外信息,所有信息都位于数据表中。
由于MT_dialog