keil编译时出现错误 undefined identifier
#include"reg51.h"#defineunitunsignedint#defineucharunsignedcharsbitr1=p0^2sbity1=p0^1...
#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': undefined identifier
交通.C(34): error C202: 'i': undefined identifier
Target not created
为什么会提示没有定义呢 展开
#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': undefined identifier
交通.C(34): error C202: 'i': undefined identifier
Target not created
为什么会提示没有定义呢 展开
3个回答
展开全部
p0^2 里面的p 字母应该是大写的 keil编译器中每个端口都有固定的地址,区分大小写
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拼写错了
#define unit unsigned int
unit i;
uint i=0;
这个是主要的BUG
建议你
#define UINT unsigned int
UINT i;
#define unit unsigned int
unit i;
uint i=0;
这个是主要的BUG
建议你
#define UINT unsigned int
UINT i;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询