我正在查看 SYSRSTIV以确定重置原因。 在我的测试应用程序中,我在100秒后停止对看门狗进行维护。
我得到的重置值为: 16h = WDT超时(PUC)
如果我现在调用下面列出的TI库函数而不维修看门狗,则重置原因将更改为:
0Ch = SVSL (POR)
我正在尝试了解重置原因发生变化的原因。
void配置MSP430()
{
//SVS低侧关闭
PMM_DisableSvsL(__MSP430_BASEADDRESS_PMM__);
//监视器低侧关闭
PMM_DisableSvmL(__MSP430_BASEADDRESS_PMM__);
//监视器高侧关闭
PMM_DisableSvmH(__MSP430_BASEADDRESS_PMM__);
//SVS高侧打开
PMM_enableSvsH(__MSP430_BASEADDRESS_PMM__);
//在SVS事件上启用POR
PMM_enableSvsHReset(__MSP430_BASEADDRESS_PMM__);
//SVS高侧全性能模式,
PMM_SvsHEnabledInLPMFullPerf(__MSP430_BASEADDRESS_PMM__);
//在LPM3中保持打开状态,增强保护
//等待高侧,低侧稳定下来
当(0 == PMM_getInterruptStatus(__MSP430_BASEADDRESS_PMM__),
SVSMLDLYIFG + SVSMHDLYIFG (仅供选择)
);
PMM_clearPMMIFGS (__MSP430_BASEADDRESS_PMM__);
}