社区导航

 
查看: 137|回复: 0

[资料分享] 分享一个开机运行10秒进入LPM4的代码

[复制链接]

343

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-2-20 19:41:25 | 显示全部楼层 |阅读模式
测试开机运行10秒后,进入LPM4深度睡眠完全掉电。由P1.3外部中断唤醒后进入正常工作,10秒后再度进入掉电,如此循环,验证正确。
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;                                //进入中断后把时间计数器清0
    if((P1IFG&BIT3) ==BIT3)
    {
                P1IFG &= ~BIT3;          //清标志位
                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++;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-6-26 03:10 , Processed in 0.243008 second(s), 15 queries , Redis On.

快速回复 返回顶部 返回列表
关闭