This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5510:MSP430F5510

Guru**** 2040210 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/579821/msp430f5510-msp430f5510

部件号:MSP430F5510

我正在查看 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__);
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    多次读取SYSRSTIV,直到您得到零。

    我不知道SVSL事件的来源;它看起来好像您的代码禁用了SVSL。 无论如何,请尝试读取SYSRSTIV以清除它,然后再让看门狗过期。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Stephen:

    您可能遇到已知错误PMM9。 请浏览 MSP430F5510设备错误表 并尝试变通办法。 还有几个涉及这一问题的E2E员额:

    请仔细查看这些问题,并告诉我解决方法是否解决了问题。 同时,我将尝试在我的最后重新创建问题  

    此致,  

    Caleb Overbay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Stephen:

    快速更新:

    我能够使用您在上面发布的代码重现问题。 然后,我尝试了建议的PMM9变通办法,没有任何Oonger在SYSRSTIV寄存器中观察到SVSL (POR)。

    此致,
    Caleb Overbay