我在Keil里写完程序后,直接在外面编译没有错误,但是加到工程里就有很多错误,为什么呢?怎么改?

如题所述

你这样别人没法看出问题,必须贴出源代码!!!追问

源代码太长了。。。。

追答

回答的人都不嫌长,你嫌什么长。
不过看你这个多错误,都是未定义,
最开始看到P0_1这些,以为你是没有定义导致的,但是看到ET1,这些是寄存器上的,都提示没有定义,说明很明显,你的头文件可能弄错了,或者没添加到你地工程目录里面。

不过好像你用的这个AT89X52的头文件,也可以写成 #include
希望能帮到你,以后互相交流

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-08
缺头文件。追问

有啊 

 
追答

你看看第一张图片最上面,都已经告诉你“无法打开AT89X52.h”文件了。
检查一下你项目的目录设置吧。或者把AT89X52.h文件拷贝到项目目录下。

本回答被提问者采纳
第2个回答  2012-08-08
不知道。。。

keil for arm 4.7 为什么编译不报错,但是写程序的时候报错?如图:_百...
你这两个报错不是一个概念,KEIL for ARM 是针对C语言或者C++等等的专业语言进行编译和检查的,它查的错误,是针对这些专业语言的,如果你编写的程序没有C语言的语法错误,自然不报错。Keil在编辑的时候,对某些单词进行波浪线注释,那是编辑的事,这在Word里也是常见的,他对应的是人类的自然语言的,...

KEIL 4的安装问题,安装(包括注册)后编译一个工程是OK的,但是编译另外一...
检查工程是否缺头文件。从第一个错误开始检查。你可以贴图。

用keil编译为什么目标未产生,还有一处错误
程序都没给完整的。其实这些错误都很好改,直接把错误代码C236复制到keil的帮助里面搜索下,它就会给出解释,并给出错误的典型例子。你看下错误说明,第130行,display函数有问题。肯定是你写的函数,和调用时写的不一样。

keil编译没有错误为什么烧进单片机不运行
Keil没有报错只能说明逻辑没有错误,但是不能运行有两方面原因:第一是你的程序设计有问题。第二是单片机硬件电路的问题。请在单片机可以正常工作的情况下,检查程序中各个子程序,引脚定义等等。

Keil或是伟福用C编写的程序,在编译时显示无错,但是仿真的时候发现有些...
c语言的编译器有优化选项,keil好象有九级,可设置,你那段代码可能被优化了,例如代码有重复,或者代码在程序运行过程中不可能被执行 你可以认真审查你的代码,或者把优化等级设置为0,如图

请教:我的Keil51在别的地方调试好的,怎么到我这就不能用了,全错,提示...
这个问题非常简单,首先你必须明白当建立一个keil工程后会生成好多的辅助文件,这些文件对程序的编译是必不可少的,如果你要在其它电脑上运调试程序,就必须把整个工程拷贝走。如果只拷走了一部分工程文件,就会出现你说的问题,解决方法是重新建立一个工程,然后将程序粘贴过去。

keil4 编译的问题:为什么同一个程序,在别人电脑上用keil4编译后下到板...
如果程序没有变动的话,可能是keil设置的问题。在编译前要设置单片机晶振和生成HEX。是不是晶振没设置对。还有就是单片机下载的是偶有没有问题。我上次就是把芯片插反了结果瞎忙活了半天

我编写的C程序在keil软件运行没错误,但是不能建立工程文件,出现了如 ...
你是多文件编译么?可能是文件没有加到工程里,还有就是你工程设置中DEBUG设置里面的设置有问题,你用的可能是实体编译,应该是虚拟编译

我用KEIL编译程序时,我的main主程序为空,然后我再加了一些c文件,为什么...
编译不只是编译main函数,你工程里面所有的.c文件里面的代码,只不过执行不到而已。不过没有执行到的函数一般会告警的,除非你把告警关了(选项里面有个告警级别,级别0就是关了)。连接程序只是把所有的目标程序安排适当的地址而已。

我用keil-uvision4编译器,有一个程序总是不报错,我把它故意改错也不报错...
故意改错,在语法上不一定就错,所以不报错,只是你以为是错的。还有一个原因,你所改的语句,还与其它语句有关,可能会报错,也可能不报错。keil 的语法并不十分严密,有些语句看起来像是错,但却不报错。不过,还很少遇到故意改成错误的做法,想试验什么呢?

相似回答