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.

[参考译文] CCS/MSP430G2211:当MSP430进入低功耗模式(LPM3)时,我们通过I/O中断和初始化计时器唤醒它,但计时器中断不能偶尔运行。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/576316/ccs-msp430g2211-when-msp430-had-gone-into-low-power-mode-lpm3-we-wakeup-it-by-i-o-interrupt-and-initialized-timer-but-timer-interrupt-could-not-run-occasionally

部件号:MSP430G2211

工具/软件:Code Composer Studio

平台:MSP430G2211,6.2

问题:当MSP430进入低功耗模式(LPM3)时,我们通过I/O中断和 初始化计时器唤醒它,但计时器 中断 不能偶尔运行。

代码:

void System_initial_Interrupt (void)
{

TA0CCTL0|= CCIE;// TBCCR0中断已启用
TA0CCR0 =1000;

TA0CTL = tassel_2 | MC_1;// SMCLK,UP模式

// WDTCTL = WDT_ARST_1000;
}#TB0CTMA



vector=Port1_vector _vector _MC_1_ vector _MC_1;
















~PVL_POST_POST_POST_1000;中断== TA0_CAMP_CAMP_ST_ST_CAMP0_CAMP_0;TA_CAMP_CAMP_0 == CAMP_CAST_CAMP0_CAMP_CAMP_0;TA0_CAMP_CAMP_0 ==== 0
P1IE &=~BIT3;


} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,用户:
    要获得更好的响应率,请在将来格式化您的代码。 这次我为您做了这件事。

    您似乎正在立即退出端口1 ISR,因此您的计时器中断从未启用。 要解决此问题,请将__BIC_SR_REGISTER_ON_EXIT (LPM3_BITs)放在ISR的末尾。

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

    感谢您的回答,我们确信MSP430已通过I/O中断唤醒,但LMP3退出 无效,因此计时器不起作用。

    我们已经按照你 的答复,但 这个问题仍然存在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    用户,
    我很抱歉,我一直在ISR结束时看到这种内在的使用,所以我认为这导致了退出。

    您的计时器正在获取SMCLK。 SMCLK在LPM3中关闭,我认为G2在时钟请求期间不会阻止LPM3。 尝试转至LPM1或使用ACLK。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    用户,
    这是否解决了您的问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,用户:
    除非您尽快回复,否则我需要关闭此项。