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.

[参考译文] MSP-EXP430FR2355:WDT_ISR CAN#39;t 使用中断。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1131820/msp-exp430fr2355-wdt_isr-can-t-use-interrupt

我尝试通过 设置 为看门狗模式来启动 WDT、使用 250ms 生成中断并转至 WDT_ISR  

但中断永远 不会生成。

问: 在 看门狗模式下、我可以通过 WDT ISR 使 WDT 中断吗?

   如果是、我如何使用它。

我 的一些代码:

int main (空)
  WDTCTL = WDTPW | WDTHOLD;                                           //停止看门狗计时器
  
  WDTCTL = WDTPW | WDTHOLD;                                           //停止看门狗计时器
  SFRIFG1 &=~WDTIFG;                                                   //清除 WDT 中断标志
  WDTCTL = WDTPW | WDTTMSEL_0 | WDTCNTCL_1 | WDTIS_5 | WDTSSEL_1;   //启动 WDT 模式、213.33ms 的间隔定时器、ACLK 源
  SFRIE1 |= WDTIE;                                                       //启用 WDT 中断

  for (;;){
    //编码
  }
#if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
#pragma vector=WDT_Vector
_interrupt void WDT_ISR (void)
#Elif defined (_GNU_)
void __attribute__((interrupt (WDT_vector))) WDT_ISR (void)
其他
错误编译器不受支持!
#endif
  SFRIE1 ~WDTIE;           //禁用 WDT 中断
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      WDTCTL  = WDTPW  |  WDTTMSEL_0  | WDTCNTCL_1  | WDTIS_5  | WDTSSEL_1;   //开始 WDT 模式、213.33ms 的间隔定时器、ACLK 源

    要获得间隔定时器模式(定时器中断、未复位)、您需要设置 WDTTMSEL=1 [参考用户指南(SLAU445I)表12-2]。 请尝试:

      WDTCTL  = WDTPW  |  WDTTMSEL_1  | WDTCNTCL_1  | WDTIS_5  | WDTSSEL_1;   //开始 WDT 模式、213.33ms 的间隔定时器、ACLK 源

    TI 示例 msp430fr235x_WDT_02.c 可满足您的需求(只需退出 XT1晶振启动):

    https://dev.ti.com/tirex/explore/node?node=AJIG7rj-t2Mxd3GB9fdtBg__IOGqZri__LATEST

    --------

    未经请求:

    >   SFRIE1 |= ~WDTIE;            //禁用 WDT 中断

    这不会禁用 WDT 中断。 请尝试:

    >   SFRIE1  ~WDTIE;            //禁用 WDT 中断

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

    我明白了。 非常感谢。