keil编译时出现错误 undefined identifier

来源:百度知道 编辑:UC知道 时间:2024/06/27 03:29:29
#include"reg51.h"
#define unit unsigned int
#define uchar unsigned char
sbit r1=p0^2
sbit y1=p0^1
sbit b1=p0^0
sbit r2=p0^7
sbit y2=p0^6
sbit b2=p0^5
void delay(void)
{
unit i;
for(i=0;i<34530;i++);
}
void main(void)
{
uint i=0;
while(1)
{
r1=1;y1=0;b1=0;
r2=0;y2=0;b2=1;
for(i=0;i<5;i++)
delay();
r1=1;y1=0;b1=0;
r2=0;y2=1;b2=0;
for(i=0;i<1;i++)
delay();
r1=0;y1=0;b1=1;
r2=1;y2=0;b2=0;
for(i=0;i<5;i++)
delay();
r1=0;y1=1;b1=0;
r2=1;y2=0;b2=0;
for(i=0;i<1;i++)
delay();
}
}

用KEIL编译时老是提示交通.C(32): error C202: 'b1': undefined identifier
交通.C(33): error C202: 'r2': undefined identifier
交通.C(33): error C202: 'y2': undefined identifier
交通.C(33): error C202: 'b2&

p0^2 里面的p 字母应该是大写的 keil编译器中每个端口都有固定的地址,区分大小写

拼写错了
#define unit unsigned int
unit i;
uint i=0;

这个是主要的BUG
建议你
#define UINT unsigned int
UINT i;