keil出现的错误怎么办

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:22:05
#include<REG52.H>
void delay(void);
void main(void);
{
Loop: p1=0x00;
delay();
p1=0xff;
delay();
goto loop;
}
void delay(void);
{
unsigned int i,j;
for(i=0;i<500;i++);
{
for(j=0;j<121;j++);
{;}
}
}
程序就是这样!
出现一下错误
Build target 'Target 1'
assembling STARTUP.A51...
compiling Text1.c...
TEXT1.C(4): error C141: syntax error near '{'
TEXT1.C(5): error C129: missing ';' before ':'
Target not created

错误总结:1.在使用c语言时,P1要大写。
2.void main(void); 的后面不要分号,在第二个 void delay(void);时后面不要分号,要加强C的学习。
3.延时程序,时间设置也有问题。
for(j=0;j<121;j++); 这个后面的{;}是没有必要的,

你的延时应该是121*500而你这样写就成了,121+500了。要得到121*500,这个语句for(i=0;i<500;i++); 的分号不要。
建议加强C语言的学习。

在这个程序中你有一下几点值得考虑,一楼是给你改了,他没有指出来,我在一下几点点出来,以后不要再犯同样的毛病。
#include<REG52.H>
void delay(void);
void main(void); //这里你不应该用逗号,用逗号的话后面的这个函数就在这里结束了,一下就显示了像这样的错:TEXT1.C(4): error C141: syntax error near '{'
{
Loop: p1=0x00;
delay();
p1=0xff;
delay();
goto loop;
}
void delay(void); //就是在每个函数后面都不用分号,除非是函数声明
{
unsigned int i,j;
for(i=0;i<500;i++);
{
for(j=0;j<121;j++); //for语句后面也不用,不然后面的{;}就没有意思了
{;}
}
}

TEXT1.C(4): error C141: syntax error near '{'
TEXT1.C(5): error C129: missing ';' before ':'
这是错误所在,如果你