下头函数,只要被调用就会导致单片机死机,请大家帮忙分析
下面函数,只要被调用就会导致单片机死机,请大家帮忙分析
都是简单的运算。
char Time_down_cmd = 0; //启动倒计时命令,1启动,0 关闭
long disp_time ;
void Disp_TimeDown(void)
{
char dispbuf1[3],dispbuf2[3] ;
int dat1=0,dat2;
int flag = 0;
int i ;
if(AutoRunType == AUTO_MODE_RUN)
{
PutStr(2,0, "运行--");
disp_time = DownTime_run;
}
else if(AutoRunType == AUTO_MODE_STOP)
{
PutStr(2,0, "停止--");
disp_time = DownTime_stop;
}
if((disp_time>=0) && (disp_time<6000) )//最大支持99分59秒
{
if(disp_time >= 60)
{
dat1 = disp_time/60;
dat2 = disp_time%60;
}
else if((disp_time >= 0))
{
dat1 = 0;
dat2 = disp_time;
}
if((dat1 >=0) && (dat2 >= 0))
{
if(dat1 < 10)
{
my_itoa(dat1,dispbuf1+1);
dispbuf1[0] = '0';
flag = 1;
}
else if(dat1 < 60)
{
my_itoa(dat1,dispbuf1);
flag = 1;
}
if(flag)
{
dispbuf1[2] = '\0';
PutStr(2,3,dispbuf1);
}
flag = 0;
if(dat2 < 10)
{
my_itoa(dat2,dispbuf2+1);
// dispbuf2[0] = '0';
flag = 1;
}
else if(dat2 < 60)
{
flag = 1;
my_itoa(dat2,dispbuf2);
都是简单的运算。
char Time_down_cmd = 0; //启动倒计时命令,1启动,0 关闭
long disp_time ;
void Disp_TimeDown(void)
{
char dispbuf1[3],dispbuf2[3] ;
int dat1=0,dat2;
int flag = 0;
int i ;
if(AutoRunType == AUTO_MODE_RUN)
{
PutStr(2,0, "运行--");
disp_time = DownTime_run;
}
else if(AutoRunType == AUTO_MODE_STOP)
{
PutStr(2,0, "停止--");
disp_time = DownTime_stop;
}
if((disp_time>=0) && (disp_time<6000) )//最大支持99分59秒
{
if(disp_time >= 60)
{
dat1 = disp_time/60;
dat2 = disp_time%60;
}
else if((disp_time >= 0))
{
dat1 = 0;
dat2 = disp_time;
}
if((dat1 >=0) && (dat2 >= 0))
{
if(dat1 < 10)
{
my_itoa(dat1,dispbuf1+1);
dispbuf1[0] = '0';
flag = 1;
}
else if(dat1 < 60)
{
my_itoa(dat1,dispbuf1);
flag = 1;
}
if(flag)
{
dispbuf1[2] = '\0';
PutStr(2,3,dispbuf1);
}
flag = 0;
if(dat2 < 10)
{
my_itoa(dat2,dispbuf2+1);
// dispbuf2[0] = '0';
flag = 1;
}
else if(dat2 < 60)
{
flag = 1;
my_itoa(dat2,dispbuf2);