如果是KEIL初学者, 如果C程序很简单,而且 比对过每个单词都没有问题。 实在找不到错误, 那还有一种可能: 你没有将这个C文件加入到工程中~~~ 我当时出现的错误代码与你这个 一模一样~~~~为了这么简单的东西找了好多资料。 自学的人伤不起。 心酸呀~~ /crying
也有可能是你复制?C_START这个函数时没有真正复制进去,即在keil中看到是复制过去了,但是你可以尝试用notepad++或记事本打开这个.c文件就会发现根本没有添加进去复制的内容,也可以将.c文件从工程中移除,再打开这个.c文件也会发现没有添加复制内容。这是偶尔现象,尤其出现在从一个工程复制函数到另一个工程,或头文件中添加某个定义也会出现这现象。解决方法:
1、将该整个工程文件关掉,然后用记事本或notepad++等其他编辑软件把所要复制(即警告?C_START这个函数)重新复制进去,保存,再打开工程,编译;
2、将写有?C_START这个函数的.c文件从工程中移除,重新写好或复制该函数,保存,再将.c文件添加进工程,编译。
外部符合没有连接过去,可以使用extern 作外部声明
解决方法:
For a project in the SMALL memory model that uses no floating point arithmetic, C51S.LIB is required.
For a project in the LARGE memory model that uses floating-point, C51FPL.LIB and C51L.LIB are required.
If a project uses floating arithmetic, it is important that C51FPx.LIB is included before the standard library file C51x.LIB. Otherwise printf and scanf will not work with floating-point numbers.
When you are using µVision, you may simply add the require library file(s) to the project in the same way as you are adding source files.
官网给的解释:网页链接
这些lib文件在keil\C51\LIB下都有
在C文件里使用汇编语言必须要进行这项操作否则会有warning
你没有将这个C文件加入到工程中