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.

[参考译文] MSP430F5529:进入和退出 LPM4.5

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1525328/msp430f5529-entering-and-exiting-the-lpm4-5

器件型号:MSP430F5529
主题中讨论的其他器件:MSP-EXP430F5529LP

工具/软件:

您好:
我正在尝试将 LaunchPad MSP-EXP430F5529LP 导入 LPM4.5。 我编写了以下代码。

‘代码并执行"Enter LPM4.5!"后 显示在控制台中。 我尝试通过按钮中断来唤醒器件、但没有响应。 控制台的输出和 LED 切换都不是。

void main (void)

WDTCTL = WDTPW | WDTHOLD;

P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;P5OUT = 0x00;P6OUT = 0x00;P7OUT = 0x00;PJOUT = 0x00;
P1DIR = 0xFE;P2DIR = 0xFF;P3DIR = 0xFF;P4DIR = 0xFF;P5DIR = 0xFF;P6DIR = 0xFF;P7DIR = 0xFF;PJDIR = 0xFF;

// Set Button to Interrupt
GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1);
GPIO_enableInterrupt(GPIO_PORT_P1, GPIO_PIN1);
GPIO_selectInterruptEdge(GPIO_PORT_P1, GPIO_PIN1, GPIO_HIGH_TO_LOW_TRANSITION);
GPIO_setAsOutputPin(DEBUG_LED_PORT, DEBUG_LED_PIN);
GPIO_toggleOutputOnPin(DEBUG_LED_PORT, DEBUG_LED_PIN);
delay_ms(1000);
__enable_interrupt();
// Main Loop
while(1)
{
    printf("Enter LPM4.5!\n");
    UCSCTL6 |= XT1OFF | XT2OFF;                 //turn off oscillators
    PMMCTL0_H = PMMPW_H;
    PMMIFG &= ~PMMLPM5IFG;
    SVSMHCTL &= ~(SVMHE+SVSHE);             // Disable High side SVS
    SVSMLCTL &= ~(SVMLE+SVSLE);             // Disable Low side SVS//clear flag to allow wakeup from LPM4.5
    PMMCTL0_L |= PMMREGOFF_L;
    __bis_SR_register(LPM4_bits);
    printf("never gone see!\n");

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

    使用.5低功耗模式之一但对 LOCKLPM5位不执行任何操作的程序将不能很好地运行。