请问mega16掉电唤醒后程序重什么地方运行?

2019-07-15 19:37发布

#include <iom16v.h>
#include <macros.h>

uchar i;

void main()
{
DDRC=0XFF;//C口输出
PORTC=0X00;//点亮LED

DDRD&=0<<PD3;//外中断1口,PD3输入
PORTD|=1<<PD3;//有上拉电阻,

while(1)
{
   i++
   if(i==100) //延时后进入休眠模式
    {
     SEI();// 开全局中断
     GICR=0X80;//外部中断1使能
     MCUCR=(1<<SE)|(1<<SM1);//开启掉电模式1
     asm("sleep");//进入掉电模式
         
     PORTC=0XFF; //唤醒后熄LED
     while(1);//程序最后停在此处
   }
  }
}

程序能够进入掉电,但是按中断1唤醒后,又重头开始了(就象复位一样),程序的最后两行没有被执行???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。