keil工程Error: L6218E: Undefined symbol main (referred from rtentry2.o).
1,main这个符号未定义。
解决:写成 void mian(),而不是 main()。
2,大多数是因为未加main.c文件于工程中或main单词拼写错误。
解决:仔细检查程序代码,看是否出现拼写错误,修改main单词。
如果自己的程序并没有出现上述这两种情况,可能是因为《ARM处理器裸机开发实战——机制而非策略》这本书自定的启动代码是根据ADS1.2软件编写的{自定义的启动代码里定义了Main(),而自己定义的函数为main},自己现在的运行环境为MDK软件,应该需要的是main()函数。
扩展资料:
改进程序:
#include <lpc213x.h>
#include <lcd.h>
#include <stdio.h>
unsigned int read_adc();
void mian()
{ unsigned int adc_result; char buffer[16]; PINSEL1|=0x00800000; AD0CR=0x00200301; while(1) { adc_result=read_adc(); sprintf(buffer,"result=%d",adc_result); lcd_init(); lcd_gotoxy(0,0); lcd_print(buffer); }
}
unsigned int read_adc()
{ int true; unsigned int result; AD0CR|=0x01000000; true=AD0GDR&1; while(!true) result=(AD0GDR>>5); result&=0x3FF; return result;
}
main函数:
又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式.有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。
在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main() 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。
由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。
参考资料来源:main函数-百度百科
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4116.html
这个错误是说你没有定义main入口函数,你看看是不是写错了,要跟main一摸一样,大小写也要一致。
我是这么记得 有不对的地方请高人请教!
int main()
{
}
仅供参考!!