附录B    Keil C51 编译常见错误与警告
在利用Keil C51进行单片机软件程序的编写、调试过程中,经常会出现这样的现象,因为疏忽大意或是对于程序编写规则的不熟悉等原因,工程编译不能正常通过,导致最终未能生成单片机用于下载烧片所需的.hex文件。以下列举出了一些在工程编译过程中,常见的警告或错误的提示信息,以及解决这些警告或错误的具体方法;给出了常见编译器错误信息的查方法和Keil C51编译器常见错误与警告提示信息中英文对照表,供读者在工程调试和编译过程中参考。
一、常见错误与警告现象
现象一:部分程序如下:
{
ET0=1
ET1=1;
}
错误编号:C141
原因:程序LED.C49行语句前缺少分号。
解决方法:语句 ET0=1后加";"即:ET0=1;
现象二:部分程序如下:
{
ET0=1
ET1=1;
}
错误编号:C100C141
原因:程序LED.C53行有中文标点符号“;”。
解决方法:将中文符号改变成英文符号“;
现象三:
警告编号:L16
原因:delay2( )函数未被其它函数调用,它会占用程序存放空间。
解决方法:
(1)删除delay2( )函数;
(2)检查程序,某调用该子函数;
(3)利用注释“/* */”将整个delay2()函数体包含,可保留该函数但不被编译。
现象四:
警告/错误编号:C206C267C231
原因:delay’函数未定义,即未编写程序内容或函数已定义但未作声明。
解决方法:(1)将该子函数放在调用它的主调函数前;
          (2) 在调用它的主调函数前,对该函数进行声明。
现象五:
警告编号:C318
原因:在编译mainc51中字符串函数.c 程序过程中由于main.c 使用了头文件包含#include buzzer.h,但编译器却不见buzzer.h头文件。
解决方法:到相应的buzzer.h或编写buzzer.h文件,并存入到c:\keil的相关目录中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。