为什么中断中的参数可以不用全局变量设置,仍可以进行累加
void T0_time() interrupt 1
{
uchar num;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==20)
{
num=0;
sec++;
if(sec==60)
{
sec=0;
min++;
if(min==60)
min=0;
}
}
}
本函数有效 出了这个函数 就不好用了
关键这个是中断程序呀,50毫秒才进入一次呀,还是能累加呀,不应该呀
怎么不应该 又不是静态变量 不会清空的
uchar num 前 应改为 static uchar num = 0,否则 num 只能加到 1
我试了,num可以加到20
我试了,num可以加到20
那么其他的子程序为什么不定义全局变量,num会清空呢
不会啊 你可以试试
谢谢,我用keil软件调试了一下可以的,回家的时候再用板子试一下,不过我记得上次一次程序就是参数没有定义全局变量,才造成无法累加;我再找找我以前的程序看看。谢谢耐心解答
谢谢,我用keil软件调试了一下可以的,回家的时候再用板子试一下,不过我记得上次一次程序就是参数没有定义全局变量,才造成无法累加;我再找找我以前的程序看看。谢谢耐心解答
谢谢,我用keil软件调试了一下可以的,回家的时候再用板子试一下,不过我记得上次一次程序就是参数没有定义全局变量,才造成无法累加;我再找找我以前的程序看看。谢谢耐心解答
谢谢,我用keil软件调试了一下可以的,回家的时候再用板子试一下,不过我记得上次一次程序就是参数没有定义全局变量,才造成无法累加;我再找找我以前的程序看看。谢谢耐心解答
谢谢,我用keil软件调试了一下可以的,回家的时候再用板子试一下,不过我记得上次一次程序就是参数没有定义全局变量,才造成无法累加;我再找找我以前的程序看看。谢谢耐心解答
谢谢,我用keil软件调试了一下可以的,回家的时候再用板子试一下,不过我记得上次一次程序就是参数没有定义全局变量,才造成无法累加;我再找找我以前的程序看看。谢谢耐心解答
恩 可以的 只有静态变量 每次进入才会清零的static