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
为什么会提示没有定义呢
展开
 我来答
衣情函悦欣
2019-12-13 · TA获得超过3944个赞
知道大有可为答主
回答量:3163
采纳率:34%
帮助的人:206万
展开全部

C语言写程序,是区分大小写字母的,所以,写程序时,定义变量名和使用变量名要注意前后要相同,不能随意改大小写字母。
你在前面定义3个引脚时,用的是小写字母
les
可程序中使用时,却改成大写字母L,那还不出错吗?
写程序要注意这些规则,请及时采纳吧。

qq672847869
推荐于2018-03-07
知道答主
回答量:27
采纳率:0%
帮助的人:15.8万
展开全部
p0^2 里面的p 字母应该是大写的 keil编译器中每个端口都有固定的地址,区分大小写
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海狮2D
2009-05-15 · TA获得超过3019个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:1004万
展开全部
拼写错了
#define unit unsigned int
unit i;
uint i=0;

这个是主要的BUG
建议你
#define UINT unsigned int
UINT i;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式