keil编译时出现错误 undefined identifier

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil编译时出现错误 undefined identifier相关的知识,希望对你有一定的参考价值。

#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
为什么会提示没有定义呢

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

参考技术A p0^2 里面的p 字母应该是大写的 keil编译器中每个端口都有固定的地址,区分大小写本回答被提问者和网友采纳 参考技术B 拼写错了
#define unit unsigned int
unit i;
uint i=0;

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

linux编译内核时出现错误,求解

ERROR: "xt_rateest_put" [net/netfilter/xt_rateest.ko] undefined!
ERROR: "xt_rateest_lookup" [net/netfilter/xt_rateest.ko] undefined!
ERROR: "xt_rateest_put" [net/netfilter/xt_RATEEST.ko] undefined!
ERROR: "xt_rateest_lookup" [net/netfilter/xt_RATEEST.ko] undefined!
WARNING: modpost: Found 8 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

参考技术A 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
需要把这个宏定义打开, 最简单的方法是就CONFIG_DEBUG_SECTION_MISMATCH=y 加到 .config 文件里面去,然后从新编译及好了
参考技术B 俺还没到配置内核的水准,等一会有这能力了再回答你哈。
一般就看看日志,日志里面会说清楚的。
参考技术C 配置不对,需要修改配置。具体去网上找。

以上是关于keil编译时出现错误 undefined identifier的主要内容,如果未能解决你的问题,请参考以下文章

keil5中编写代码时出现语法错误为什么无显示

linux编译内核时出现错误,求解

使用 Flash IDE CS6 编译时出现错误 ITMS-90163

用keil4编译时出现以下警告,一直看不明白啥意思,求帮助

在keil中编译时出现以下问题,希望大虾给予解释。必有重谢

我的数码相框.c文件用arm-linux-gcc交叉编译时出现错误,如tgzip.c:309:undefined reference to