打印

keil3编译了一个文件,出现这个错误,找不到函数PLL_initial

[复制链接]
2866|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ijkl|  楼主 | 2008-1-12 16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谢谢指点
02.axf: Error: L6218E: Undefined symbol PLL_initial (referred from 02.o).

02.c文件
#include<LPC213x.h>
#include"initial.h"
int  main(void)
    {
       int i=10;
          while(i--)
             {
                 PLL_initial();
                 SSPDR=0x89;
             }

   }

initial.h文件的内容
#ifndef __initial_h__
#define __initial_h__

extern void PLL_initial(void);

#endif


initial.c文件的内容
#include "Initial.h"
void PLL_initial(void)
{
I2C1DAT=0xef;
}

相关帖子

沙发
ijkl|  楼主 | 2008-1-12 19:59 | 只看该作者

感觉是文件包含的问题,希望大家能帮忙

使用特权

评论回复
板凳
computer00| | 2008-1-12 20:05 | 只看该作者

有没有将initial.c添加到工程中去啊

使用特权

评论回复
地板
ijkl|  楼主 | 2008-1-12 20:09 | 只看该作者

好 是我自己手动把initial.c添加到工程

还是开发软件自己在当前文件夹搜索啊??

使用特权

评论回复
5
computer00| | 2008-1-12 20:13 | 只看该作者

要自己将这个文件添加到工程中去。

使用特权

评论回复
6
123654789| | 2008-1-12 20:16 | 只看该作者

..

使用特权

评论回复
7
123654789| | 2008-1-12 20:17 | 只看该作者

经过此地

使用特权

评论回复
8
ijkl|  楼主 | 2008-1-15 00:21 | 只看该作者

按照 computer00 的意思就是要把相应的 C文件手动添加到工程

编译软件才能找到程序
但是我有不明白的地方
以C51为例
我们可以写上#include<string.h>
就可以直接的调用memcpy()函数
也不用把其他什么的C文件添加到工程
也不用把lib文件添加到工程
软件照样可以找到程序

希望 computer00 能解答

我以前都是使用不标准的写法#include"initial.c"
现在我想改变下

使用特权

评论回复
9
computer00| | 2008-1-15 01:19 | 只看该作者

那些库文件是编译器做好了的,它知道去哪里搜索。

我们自己做的就不行了。

使用特权

评论回复
10
ijkl|  楼主 | 2008-1-15 01:28 | 只看该作者

哦明白谢谢computer00

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

38

帖子

0

粉丝