我现在做的项目,CC1310大部分时间里(10~20秒)要处于STANDBY模式,再回到ACTIVE模式采集发送数据(约十几毫秒),然后再进入STANDBY循环往复。
但是在STANDBY模式下,好像watchdog是不计数的。那么我的问题是: 如果在STANDBY期间程序跑飞了,怎么让它活过来?或者如何让watchdog在STANDBY模式下也能正常计数呢?
Viki Shi:
standby模式下需要中断唤醒
In standby mode, the Cortex-M3 waits in deep-sleep for interrupts to wake up after executing the WFI instruction. Before entering standby, power down system resources, including the high-frequency oscillator, radio, peripherals, and auxiliary domain. Many system modules have retention in standby including the Cortex-M3 (see the CC13x0, CC26x0 Technical Reference Manual for details). After waking up from standby, the Cortex-M3 resumes executing programs at the point before entering standby.
user4943807:
回复 Viki Shi:
不知道是不是我没讲清楚,我的问题不是唤醒。
我是设置power policy为standby,用sleep()来进入standby模式的,时间到了它会回到active模式,这个没有问题。
active模式下,如果程序跑飞了,watchdog能把它救活。我的问题是在standby模式下watchdog不计数了,那么程序跑飞了该怎么救活?
Viki Shi:
回复 user4943807:
standby模式下没有看门狗,假如跑飞,只能通过别的手段debug,断点之类的