430进入LMP4 ,通过外部的RTC来唤醒,偶尔会出现无法唤醒, 如果再次出发mcu 可以正常唤醒并运行,可以确定RTC是有输出信号来唤醒MCU的,貌似mcu没有响应边沿中断,
(边沿设置、中断使能 什么的都没有问题)
时钟芯片内部的震荡时钟 16MHZ,
进入睡眠:
............
SetVCore(PMMCOREV_0); //进步一降低功耗
__bis_SR_register( LPM4_bits + GIE );
SetVCore( PMMCOREV_3 );
.............
唤醒中断
#pragma vector=PORT2_VECTOR
__interrupt static void prvSelectButtonInterrupt(void) {
LPM4_EXIT;
/* add some power on */
delay_ms(2000);
TA0CTL |= MC_1;
}
以上是大概的代码,我有一个疑问,在进入睡眠前SetVCore(PMMCOREV_0);是否有问题? 因为我的时钟是16mhz的,
这样会不会对中断有影响? 请帮忙解答疑问 |