请教朋友:有关全局变量的问题。谢谢!
以下是我的一个ds12887的时钟中断程序,我定义一个全局变量数组readtime[7],供中断
后其他程序使用,但用kill51编译后出现以下警告信息不知为何,请各位帮助,谢谢!
#define uchar unsigned char
#define uint unsigned int
#include <reg51.h>
#include <stdio.h>
#include <absacc.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
extern uchar data readtime[7];
#define P128870 XBYTE[0x5f80]
#define P128871 XBYTE[0x5f81]
#define P128872 XBYTE[0x5f82]
#define P128873 XBYTE[0x5f83]
#define P128874 XBYTE[0x5f84]
#define P128875 XBYTE[0x5f85]
#define P128876 XBYTE[0x5f86]
#define P128877 XBYTE[0x5f87]
#define P128878 XBYTE[0x5f88]
#define P128879 XBYTE[0x5f89]
#define P12887a XBYTE[0x5f8a]
#define P12887b XBYTE[0x5f8b]
#define P12887c XBYTE[0x5f8c]
#define P12887d XBYTE[0x5f8d]
#define P12887e XBYTE[0x5f8e]
#define P12887f XBYTE[0x5f8f]
void initstat(void)
{
uchar i;
i=P12887d;
P12887a=0x70;
P12887b=0x16;
P12887a=0x2f;
ACC=P12887c;
EA=1;
PX0=1;
IT0=0;
EX0=1;
}
void read12887(void) interrupt 0 using 2
{
uchar a;
do{ a=P12887a; } while((a&0x80)==0x80);
readtime[0]=P128870; readtime[1]=P128872; readtime[2]=P128874; readtime[3]
=P128876;
readtime[4]=P128877; readtime[5]=P128878; readtime[6]=P128879;
}
void main(void)
{
initstat();
for(; ;)
{
}
}
E:\keil1\c51\bin\C51.EXE .\DS12C8~1.C NOREGPARMS OBJECTEXTEND large DEBUG PRINT
C51 COMPILER V6.02 - SN: Eval Version
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 1999
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
E:\keil1\c51\bin\BL51.EXE @abcdlnk.tmp
BL51 BANKED LINKER/LOCATER V4.02
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2000
.\DS12C8~1.obj to DS12C8~3.omf SYMBOLS LINES NOPUBLICS
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 001EH
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 0024H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 002AH
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 0030H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 0034H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 0038H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: READTIME
MODULE: .\DS12C8~1.OBJ (DS12C8_1)
ADDRESS: 003CH
LINK/LOCATE RUN COMPLETE. 8 WARNING(S), 0 ERROR(S)
发表时间:2003年8月4日20:39:12