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.

[参考译文] MSP430FR5949:无法清除系统复位标志

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/826238/msp430fr5949-system-reset-flag-can-not-be-cleared

器件型号:MSP430FR5949

您好专家、

我的客户遇到了一个奇怪的问题。  

它们需要 详细区分复位类型

  • SVSHIFG --代表电池插件
  • PMMRSTIFG --代表外部复位
  • WDTIFG --代表看门狗复位

但是、当他们监控相关寄存器时、他们发现了以下情况:

  • SVSHIFG 和 PMMRSTIFG 可以同时为1。
  • 一旦设置了该标志、该标志始终为1、保管人会尝试通过软件将其清除、并且他们将满足即将运行的代码要求

我认为它与数据表和 TRM 不匹配:

请您告诉我这两个标志为什么一起为1、您能提供一种清除方法、 我需要准确的代码来实现。

BR

Emma

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

    尊敬的 Emma:

    代码偏离正轨的原因是它们在尝试清除标志时可能不提供 PMM 密码。 当尝试在 PMM 寄存器被锁定时写入它们时、一个 PUC 复位被触发:

    为了正确清除标志、他们需要执行以下操作:

    PMMCTL0_H = PMMPW_H; //解锁 PMM 寄存器
    PMMIFG &&~PMMRSTIFG;
    //清除 PMMIFG 中的任何其他标志此处
    PMMCTL0_H = 0x00; //锁定 PMM 寄存器 

    请尝试一下、如果仍有问题、请告知我。

    谢谢!

    Mitch