这样描述是对的。有两点要说明一下。
1.就是前面声明了uint ,后面肯定是可以利用的。
2.这种表达形式#define uchar unsigned char后面的关键字确实不变色。因为编辑器将#defined后当作文本处理了。
#include
#define uchar unsigned char //宏定义
#define uint unsigned int
void delay_50ms(uint t)
{ uint j;
for(;t>0;t--)
for(j=6245;j>0;j--);} //延时函数
void main()
{
uchar i,key;
i=0; //
while(1)
{
P3=0Xff; //这是为了定位停下就是遇到P3^3==P3^2==0就查遇到几次用开关控制次数
if(P3^3==P3^2 && P3^3==0)
{
i=0; //
i=i++;
P0=0X11;
P3=key;
delay_50ms(20);
switch(key)
{
case 0xf1:i=1;P0=0X00;break;
case 0xe9:i=2;P0=0X00;break;
case 0xd9:i=3;P0=0X00;break;
case 0xb9:i=4;P0=0X00;break;
default:break;}
}
else
EA=1;
EX0=1;
EX1=1;
IT0=0;
IT1=0;
P0=0X11;
}
}
void int0 () interrupt 0 //0号中断函数,当int0为低电平或有一下降沿信号时触发,转弯有的一个发动机不转另一个转
{
P0=0x01;
}
void int2 () interrupt 2 // 2号中断函数,
{
P0=0x10;
}
经keil 编译后无错误,无警告。
出错是因为你没加“;”号