#include<reg52.h>
void delays(ms)
{ unsigned int k;
while(ms--)
{
for(k=0; k<144;k++);
}
}
void main()
{
int k=0;
P0=0XFE;
P2=0XFE;
while(1)
{
static unsigned int m=0XFE;
/*为什么变量m 定义在while(1)外,main()内的时候,编译器keil显示在while(1)内的m没有定义?*/
for(k=0; k<7; k++)
{delays(300);
m<<=0x01;
m|=1;
P0=m;
P2=m;}
for(k=0; k<7; k++)
{delays(300);
m>>=1;
m|=0x01;
P0=m;
P2=m;}
}
}
哦 谢谢~ 我明白了~
但是只有这样在循环内定义,编译才显示正确。。。
追答不可能,放在函数开始吧。