lzl
lzl
驱动大牛
驱动大牛
  • 注册日期2001-09-11
  • 最后登录2010-06-22
  • 粉丝1
  • 关注0
  • 积分127分
  • 威望48点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:2570回复:5

这个警告是什么意思?

楼主#
更多 发布于:2005-02-26 10:29
*** 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
l=z=l 我听说,灌水是使分数快速增长的有效方法
lbcat
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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 的帮助文件里都有解释的~~~
lzl
lzl
驱动大牛
驱动大牛
  • 注册日期2001-09-11
  • 最后登录2010-06-22
  • 粉丝1
  • 关注0
  • 积分127分
  • 威望48点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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);//写字
l=z=l 我听说,灌水是使分数快速增长的有效方法
lzl
lzl
驱动大牛
驱动大牛
  • 注册日期2001-09-11
  • 最后登录2010-06-22
  • 粉丝1
  • 关注0
  • 积分127分
  • 威望48点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-26 22:10
我在x5045.c文件里定义了所有头文件生命的变量和函数。
l=z=l 我听说,灌水是使分数快速增长的有效方法
lbcat
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-28 14:13
extern x5045CS ;
extern x5045SO ;
extern x5045SI ;
extern x5045SCK ;

 这样不行的,你直接把引脚的定义作为头文件包含进来就行了,无需用extern,因为那些属于标识符,不是变量。x5045.c应该有一个对应的头文件的吧??看看这个文件里包含了哪些头文件??肯定有引脚相关的头文件的,除非它直接把它写到.c里了………… :o
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-28 15:18
sbit x5045CS = P3^1;

something like this present in XXX.h
A strong man can save himself. A great man can save another.
游客

返回顶部