今天将匠人的流水灯实验程序下载了,打算看看实际效果。用的medwin3.装了keil8.12,将编译路径设置好,复制程序,建立项目。编译时出错!
出错提示如下:
============================= 编 译 / 汇 编 =============================
编译/汇编文件: "E:\WorkDir\jr_LED\JRLED.c"
<编译命令行> C:\Keil\C51\BIN\C51.exe JRLED.c DB OE OPTIMIZE(3,SPEED) WARNINGLEVEL(0)
<编译器提示> C51 COMPILER V8.12 - SN: K1CMC-BKSCXC
<编译器提示> COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008
<编译器提示> C51 COMPILATION COMPLETE. 0 WARNING(S), 16 ERROR(S)
ERROR C202 IN LINE 128 OF JRLED.C: 'P0_0': undefined identifier
ERROR C202 IN LINE 128 OF JRLED.C: 'P0_0': undefined identifier
ERROR C202 IN LINE 129 OF JRLED.C: 'P0_1': undefined identifier
ERROR C202 IN LINE 129 OF JRLED.C: 'P0_1': undefined identifier
ERROR C202 IN LINE 130 OF JRLED.C: 'P0_2': undefined identifier
ERROR C202 IN LINE 130 OF JRLED.C: 'P0_2': undefined identifier
ERROR C202 IN LINE 131 OF JRLED.C: 'P0_3': undefined identifier
ERROR C202 IN LINE 131 OF JRLED.C: 'P0_3': undefined identifier
ERROR C202 IN LINE 132 OF JRLED.C: 'P0_4': undefined identifier
ERROR C202 IN LINE 132 OF JRLED.C: 'P0_4': undefined identifier
ERROR C202 IN LINE 133 OF JRLED.C: 'P0_5': undefined identifier
ERROR C202 IN LINE 133 OF JRLED.C: 'P0_5': undefined identifier
ERROR C202 IN LINE 134 OF JRLED.C: 'P0_6': undefined identifier
ERROR C202 IN LINE 134 OF JRLED.C: 'P0_6': undefined identifier
ERROR C202 IN LINE 135 OF JRLED.C: 'P0_7': undefined identifier
ERROR C202 IN LINE 135 OF JRLED.C: 'P0_7': undefined identifier
<MedWin提示> 编译/汇编过程中发现错误。
显示没定义,奇怪了,以前没有碰见过这种情况。将程序复制到keil建立的项目中,依然是没有定义。将“undefined identifier”做关键词在百度中搜索,网友提示看看头文件里的定义,在keil的inc文件夹的atmel文件夹中打开头文件,定义正常。回到medwin3,在项目属性中查看,在C语言标签栏中,头文件的路径没有定义,将头文件路径添加后再次编译,正常。
分析出错原因,头文件的路径在没有定义时是系统默认的根目录,而在我的电脑上不是,所以提示没有定义。猜测另一种解决办法是将头文件拷贝到根目录,没有尝试,只是猜测。不过前面的方法切实可行。
============================= 编 译 / 汇 编 =============================
编译/汇编文件: "E:\WorkDir\jr_LED\JRLED.c"
<编译命令行> C:\Keil\C51\BIN\C51.exe JRLED.c DB OE OPTIMIZE(3,SPEED) WARNINGLEVEL(0) INCDIR(C:\Keil\C51\INC\Atmel\)
<编译器提示> C51 COMPILER V8.12 - SN: K1CMC-BKSCXC
<编译器提示> COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008
<编译器提示> C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
============================= 产 生 代 码 =============================
正在编译文件: "E:\WorkDir\jr_LED\JRLED.c"...
<编译器提示> 编译完成!
正在连接项目: "jr_LED"...
<连接命令行> C:\Keil\C51\BIN\BL51.EXE JRLED.obj TO jr_LED.omf RAMSIZE(128)
<连接器提示> BL51 BANKED LINKER/LOCATER V6.11 - SN: K1CMC-BKSCXC
<连接器提示> COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
<连接器提示> Program Size: data="28".0 xdata="0" code="251"
<连接器提示> LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
正在生成代码输出文件...
<代码输出提示> 代码文件输出到: "E:\WorkDir\jr_LED\Output\jr_LED.hex"。
将程序烧进单片机,通电。好了。
用户287767 2010-8-20 02:05
tengjingshu_112148725 2009-4-10 08:30