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/MSP430FR2433:我在低功耗模式下使用了 LPM4、但流耗和 PWM 为17uA、需要在 LPM4和 LPM3之间切换的建议

Guru**** 2558250 points
Other Parts Discussed in Thread: MSP430FR2433

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/893661/ccs-msp430fr2433-i-used-lpm4-for-low-power-mode-but-i-got-17ua-of-current-consumption-and-pwm-and-need-the-advice-for-switching-between-lpm4-and-lpm3

器件型号:MSP430FR2433

工具/软件:Code Composer Studio

大家好、我使用 MSP430FR2433、我尝试使用 LPM4来省电。 然而、我的电流消耗为17uA、并且应该在 LPM4中禁用时钟、但我可以看到 PWM 为 P1、1。

您能就此问题发表评论吗?  

是否可以在 LPM4和 LPM3之间切换?

我想使用 LPM4保持低功耗模式、然后比较器产生的高电平信号发送到中断引脚、LPM4被更改为 LPM3以在 P1.1上生成 PWM、但我无法确定。

如果有人评论这一点、我真的很感激!

谢谢你。   

#include 

短推 ADCValue;
短电流 ADCValue;
短 peakADCValue;
短引用值;

int main (空)
{
WDTCTL = WDTPW + WDTHOLD; //停止看门狗计时器
PM5CTL0 &=~LOCKLPM5;


P1DIR = 0xFF; //将所有 P1引脚的方向设置为输出
P2DIR = 0xFF; //将所有 P2引脚的方向设置为输出
P3DIR = 0xFF;
P1OUT = 0; //将所有 P1引脚设置为低电平
P2OUT = 0;
P3OUT = 0;

_bis_SR_register (SCG0); //禁用 FLL
CSCTL3 |= SELREF_REFOCLK; //将 REFOCLK 设置为 FLL 基准源
CSCTL0 = 0; //清除 DCO 和 MOD 寄存器
CSCTL1 &=~(DCORSEL_7); //首先清除 DCO 频率选择位
CSCTL1 |= DCORSEL_3; //设置 DCOCLK = 8MHz
CSCTL2 = FLLD_1 + 121; // FLLD = 1、DCODIV = 4MHz
_DELAY_CYCLES (3);
_BIC_SR_register (SCG0); //启用 FLL
while (CSCTL7 &(FLLUNLOCK0 | FLLUNLOCK1)); //轮询直到 FLL 锁定
CSCTL4 = SELMS_DCOCLKDIV | SELA_REFOCLK; //设置 ACLK = XT1 = 32768Hz、DCOCLK 作为 MCLK 和 SMCLK 源
CSCTL5 |= DIVM1; // SMCLK = MCLK = DCODIV/2 = 1MHz,默认情况下




P1DIR |= BIT1; // P1.1
P1SEL1 |= BIT1; // P1.1选项选择
TA0CCR0 = 320;
TA0CCR1 = 85;
TA0CCTL1 = OUTMOD_7;
TA0CTL = tassel_1 | MC_1; // ACLK
TA0CCTL0 &=~CCIE;


_bis_SR_register (LPM4_BITS + GIE);//启用中断的 LPM4
}

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

    您好、hyunjun、

    请查看 MSP430FR2xx_4xx 用户指南中的第3.2.12节。  另请查看表3.2。  您正在将 ACLK 用于生成 PWM 的计时器、并且根据表3.2、在 LPM4中、对 ACLK 的计时器请求保持不变。  在进入 LPM4前尝试停止计时器。

    17uA 来自 ACLK 的 REFO 时钟源。

    那么、您有一个连接到其中一个 GPIO 引脚的外部比较器输出、您将使用该输出来生成中断并唤醒 MSP?

    您需要设置要用作输入的 GPIO 引脚、选择上升沿或下降沿、然后为此启用中断。

    P1.0示例:

    P1DIR &=~BIT0;  // PIN 为输入

    P1IES |= BIT0; //从高到低转换

    P1IE |= BIT0;

    有关更多详细信息、请参阅用户指南中的第8.2.6.2节。

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

    您好、hyunjun、

    几天以来,我没有听到您的声音,因此我假设您能够解决您的问题。
    如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。