|
測(cè)試開機(jī)運(yùn)行10秒后,進(jìn)入LPM4深度睡眠完全掉電。由P1.3外部中斷喚醒后進(jìn)入正常工作,10秒后再度進(jìn)入掉電,如此循環(huán),驗(yàn)證正確。
extern unsigned char count;
/* ======== main ======== */
int main(void)
{
Grace_init(); // Activate Grace-generated configuration
for(;;)
{
if(count >= 10)
{
__bis_SR_register(LPM4_bits + GIE); // Enter LPM0 w/ interrupt
}
}
return (0);
}
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR_HOOK(void)
{
count = 0; //進(jìn)入中斷后把時(shí)間計(jì)數(shù)器清0
if((P1IFG&BIT3) ==BIT3)
{
P1IFG &= ~BIT3; //清標(biāo)志位
P1OUT ^= BIT6; //P1.6 = toggle
}
LPM4_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*
* ======== Timer0_A3 Interrupt Service Routine ========
*/
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR_HOOK(void)
{
P1OUT ^= BIT0; // P1.6 = toggle
count++;
}
|
|