阅读:2570回复:5
这个警告是什么意思?
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: X5045CS MODULE: main.obj (MAIN) *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: X5045CS MODULE: main.obj (MAIN) ADDRESS: 01A2H |
|
|
沙发#
发布于:2005-02-26 14:24
main模块里存在未定义的外部标识,也就是说虽然引入了外部变量或标识,但是编译器没找到它的实体定义在哪………………估计你是没把芯片的引脚定义部分包含到项目中,如果没猜错的话…………
原文如下: UNRESOLVED EXTERNAL SYMBOL: The specified external symbol, requested in the specified module, has no corresponding PUBLIC symbol in any of the input files. 这些错误信息在keil c 的帮助文件里都有解释的~~~ |
|
板凳#
发布于:2005-02-26 22:07
定义了。我把头文件给你看看。
#define uchar unsigned char #define uint unsigned int extern x5045CS ; extern x5045SO ; extern x5045SI ; extern x5045SCK ; extern void OUTByte( uchar Byte); extern void WIPCHK(void); extern uchar INPUTByte(void); extern void rstdog(void); //复位看门狗(喂狗) extern void WREN(void); //写使能锁存 extern void WRDI(void); //写使能复位(禁止写) extern void WRSR(void); //写状态寄存器 extern uchar RSDR(void); //读状态寄存器 extern void WIPCHK(void);//检查WIP位,判断是否写入完成 extern uchar INPUTByte(void); //输入一个字节 extern unsigned char ReadByte(unsigned char ADD); //读地址中的数据 extern void WriteByte(uchar Byte,ADD); //向地址写入数据 extern uint ReadWord( uchar ADD);//读字 extern void WriteWord(uint word,uchar ADD);//写字 |
|
|
地板#
发布于:2005-02-26 22:10
我在x5045.c文件里定义了所有头文件生命的变量和函数。
|
|
|
地下室#
发布于:2005-02-28 14:13
extern x5045CS ;
extern x5045SO ; extern x5045SI ; extern x5045SCK ; 这样不行的,你直接把引脚的定义作为头文件包含进来就行了,无需用extern,因为那些属于标识符,不是变量。x5045.c应该有一个对应的头文件的吧??看看这个文件里包含了哪些头文件??肯定有引脚相关的头文件的,除非它直接把它写到.c里了………… :o |
|
5楼#
发布于:2005-02-28 15:18
sbit x5045CS = P3^1;
something like this present in XXX.h |
|
|