STC单片机在定时器中断中运行为什么会突然复位
void time_eggclock(){ unsigned char xdata i,j;
for(i=0;i<10;i++)
{time_d++;
if(time_d==250)time_d=0;
}
//time_d++;
//if(time_d==12)time_d=0;
for(j=0;j<10;j++)
{
if(time_qi==1)//标示哪一路
{ if(t==0){time_qd=time_g;t=1;window_ok(j);}
if(time_d==200)//为1s时自减
{time_d=0;
time_qd--;//UART_sedata(time_qd);
time=time_qd/10;
time=time_qd%10;
if(time_qd==0)
{ olddata=0;
rudata=0;
time_qi=0;
t=0;
for(i=0;i<6;i++)
{display_data=0;}
if(page==0||page==3)window_yunxing(j);
time=time_g/10;
time=time_g%10;}}}
}
}
数组都是unsigned char xdata 的
在定时器中断中,运行这 一段,有时突然会复位?为什么啊!找不出为什么?
哪位大哥知道的,说一下,小弟在这谢谢了。 是不 是因为我在总程序中用了内部的EEPROM的原因? 木有人知道
???大虾们有没有遇到这样的问题过 把单片机型号以及完整的程序发出来
有些单片机的xdata较小,或者没有xdata,对于这个范围之外的xdata进行操作可能会引起复位 lcw_swust 发表于 2012-7-20 09:43 static/image/common/back.gif
把单片机型号以及完整的程序发出来
有些单片机的xdata较小,或者没有xdata,对于这个范围之外的xdata进行操 ...
单片机是STC11F32XE 总的RAM有1280,可以用了,程序有30K去,很长
还没有写完,是公司的一个项目。我把这一段放到主程序中去就没事了,
用标示位来进入,
复位也可能是 XDATA 溢出的问题。上面的程序可能 没有处理溢出的问题吧。
页:
[1]