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.

[参考译文] MSP430FR5972:看门狗超时

Guru**** 2583245 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/699561/msp430fr5972-watchdog-timeout

器件型号:MSP430FR5972

您好!

我正在将看门狗定时器配置 为   WDTCTL =WDTPW + WDTCNTCL+ WDTSSEL_0 + WDTIS_1。它运行良好、但有时当看门狗过期、然后我检查重启原因、它显示我复位原因为 LPM 唤醒、而 不是复位矢量发生器中的看门狗超时。

您能不能说出原因是什么?

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

    您好!

    感谢您发帖。 您是否在软件中使用了 LPM3.5或 LPM4.5?

    B.R.

    冬季

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是否可以与您确认您是否在系统中采用了 LPM3.5?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在使用 LPM4.5。这些是 我用于 LPM4.5唤醒的设置。

    /*将 P1.6配置为中断*/

    /*P1.6高/低边材*/
    P1IES |= BIT6;

    /*清除所有 P1中断标志*/
    P1IFG = RESET_TO_ZERO;

    /*P1.6中断被启用*/
    P1IE |= BIT6;

    /*在进入 LPM*/之前禁用看门狗
    STOP_WDT

    /*Disable the GPIO power-on default high-impedance mode to activate*/
    PM5CTL0 &=~LOCKLPM5;

    /*打开 PMM 寄存器进行写入*/
    PMMCTL0_H = PMMPW_H;
    PMMCTL0_L |= PMMREGOFF;

    /*禁用高侧 SVS*/
    PMMCTL0_L &=~(SVSHE);

    /*Lock PMM Registers*/
    PMMCTL0_H = RESET_TO_ZERO;

    /*输入 LPM4请注意、此操作不会返回。 LPM 将通过复位事件退出,从而导致重新启动*/
    _bis_SR_register (LPM4_BITS);

    /*MCU 将在这里等待,直到 P1.6*/上接收到中断
    while (1)


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

    我正在使用 LPM4.5。这些是 我用于 LPM4.5唤醒的设置。

    /*将 P1.6配置为中断*/

    /*P1.6高/低边材*/
    P1IES |= BIT6;

    /*清除所有 P1中断标志*/
    P1IFG = RESET_TO_ZERO;

    /*P1.6中断被启用*/
    P1IE |= BIT6;

    /*在进入 LPM*/之前禁用看门狗
    STOP_WDT

    /*Disable the GPIO power-on default high-impedance mode to activate*/
    PM5CTL0 &=~LOCKLPM5;

    /*打开 PMM 寄存器进行写入*/
    PMMCTL0_H = PMMPW_H;
    PMMCTL0_L |= PMMREGOFF;

    /*禁用高侧 SVS*/
    PMMCTL0_L &=~(SVSHE);

    /*Lock PMM Registers*/
    PMMCTL0_H = RESET_TO_ZERO;

    /*输入 LPM4请注意、此操作不会返回。 LPM 将通过复位事件退出,从而导致重新启动*/
    _bis_SR_register (LPM4_BITS);

    /*MCU 将在这里等待,直到 P1.6*/上接收到中断
    while (1)


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

    您好!

    LPM4.5还将导致 MCU BOR 重新启动、并且复位原因也会存储在 SYSRSTIV 中作为 WDT 复位。  

    此致、

    如果我的帖子有助于解决您的问题、请单击  验证答案    按钮 

    冬季、

    搜索 E2E! 您的问题可能已经得到解答!