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.

[参考译文] MSP430F5418:看门狗未按预期触发。

Guru**** 2604225 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/648653/msp430f5418-watchdog-does-not-trigger-as-expected

器件型号:MSP430F5418

我遇到了一种设计情况、有时似乎会将自己锁定到低功耗模式(LPM 4)。 在这种锁定情况下、我可以看到32kHz 外部晶体正在运行、但所有外部设备都已断电(如预期的那样)。 另外、我设置为每两秒运行一次的 RTC 中断似乎无法运行、这意味着处理器无法唤醒。

在这种低功耗模式下、处理器运行一个2秒的 RTC 中断、该中断也会刷新看门狗(超时为3秒-是的不是很好、但比没有它好、看门狗仅在 LPM 模式下运行!)。

我的问题是 RTC 中断已停止服务(我有一个调试引脚、我无法看到该引脚不再切换)、但我没有得到看门狗复位。 为什么这样、看门狗在 LPM 下不能正常运行 、或者是否有其他事情在发生!?

 

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

    尊敬的 Mike:

    看起来这可能是 由 F418勘误表中的 WDG4勘误表引起的。 WDTCTL 寄存器中的 WDTSSEL 位决定哪个时钟提供看门狗定时器。 如果对于看门狗定时器时钟源、UCSCTL8中相应的 xREQEN 位设置为零、则不会发生看门狗事件。

    如果 xREQEN 位被启用、时钟将保持可供看门狗定时器使用、但是器件将无法进入 LPM 4。

    此致、

    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我在帖子中写下了一个拼写错误-处理器更改为 LPM3而不是 LPM4。
    我只需重新检查、WDT 就会始终配置为使用 VLO 时钟。 我看不到这已关闭、您能否确认这是否会受到上述勘误表的影响。 同样、我也不确定如何或是否可以检查该时钟是否仍在运行!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mike:

    您是否以与以下代码类似的方式初始化看门狗计时器? 此代码显示看门狗计时器可以将 VLO 设置为时钟源、并通过 lpm3每~1秒复位一次 MSP430。 WDTCTL 应直接用"="运算符写入、而不是用"|="或"&="写入、以便正确写入 WDTPW。

    #include 
    
    int main (void)
    {
    WDTCTL = WDTPW | WDTSSEL_2 | WDTIS_5;
    P1DIR |= 0x01; //将 P1.0设置为输出
    P1OUT ^= 0x01; //切换 P1.0
    
    __bis_SR_register (LPM3_bits + GIE); //输入 LPM3
    __NO_OPERATION (); //对于调试器
    } 

    此致、

    Ryan

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

    您是否可以确认代码初始化看门狗以使用与上述代码类似的 VLO 时钟、或者是否有任何其他更新?

    谢谢、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于不活动而关闭线程。