我正在使用 MSP430FR5969 并尝试将其置于 LMP4 模式。我无法在启用全局中断的情况下进入 LPM4 模式。我正在使用的代码如下。我是否遗漏或做错了什么?
整个代码可以在这个链接
中看到int main(void) {
Init_Clock();
Init_GPIO();
Init_UART();
printf("test \n");
__delay_cycles(1000);
EUSCI_A_UART_disable(EUSCI_A0_BASE);
reset_gpio();
PMMCTL0_H = PMMPW_H; // Open PMM Registers for write
PMMCTL0_L &= ~(SVSHE); // Disable high-side SVS
PMMCTL0_L |= PMMREGOFF; // and set PMMREGOFF
PMMCTL0_H = 0; // Lock PMM Registers
__bic_SR_register(GIE);
__bis_SR_register(LPM4_bits);
__no_operation();
}
我没有读你的代码。但我会提醒您,某些外设和时钟对比度可能会干扰低功耗模式,甚至是待处理的中断。查看特定数据表和系列指南的低功耗模式部分。是的,你会更好地了解你的目标社会。 5969 确实很强大,但它是最复杂的 msp430 之一。