51单片机外部中断函数里的变量被赋值后,

51单片机外部中断函数里的变量被赋值后,若该中断函数再次被调用是,被赋过值的那个参数还是保持原来的值吗?例如这个程序:
void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数
{
static unsigned char i;
static bit startflag;
if(startflag)
{ if(irtime<42&&irtime>=33)//引导码 TC9012的头码
i=0;
irdata=irtime;//一次存储32位电平宽度
irtime=0;
i++;
if(i==33)
{ irok=1;
i=0;}
}
else
{irtime=0;
startflag=1;}
}
////startflag这个参数被置1后是不是永远都保持1了?其他程序里没有用到这个startflag。

第1个回答  2009-02-02
55
第2个回答  2009-02-02
因为你在赋值时用了static语句,所以它要一直保持这个值。本回答被提问者采纳
相似回答