哪位大神帮我看哈,谢谢了
程序很简单#include <reg52.h>
#include"delay.h"
sbit LED0=P1^0;
void main()
{
while(1)
{
LED0=0;
delay1s();
LED0=1;
delay1s();
}
}
但是结果没执行delay1s()这个函数,
下面出现2个警告:
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: DELAY3S
MODULE: main.obj (MAIN)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: DELAY3S
MODULE: main.obj (MAIN)
ADDRESS: 0012H
这是头文件delay.h:
#ifndef __DELAY_H__
#define __DELAY_H__
void delay1ms(void);
void delay2ms(void);
void delay3ms(void);
void delay5ms(void);
void delay8ms(void);
void delay9ms(void);
void delay10ms(void);
void delay30ms(void);
void delay50ms(void);
void delay100ms(void) ;
void delay3s(void);
#endif
.c文件里写好了函数的定义的...
这两个文件我都放工程文件夹里面的了
把.C和,H里全部统一为delay1s()也会出现这种情况, 上面是我左该右该出错了。。。
追答还是一样的错误吗?
追问嗯,是的,3个警告提示
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: DELAY1S
MODULE: main.obj (MAIN)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: DELAY1S
MODULE: main.obj (MAIN)
ADDRESS: 0006H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: DELAY1S
MODULE: main.obj (MAIN)
ADDRESS: 000BH
谢谢~
我知道了,你把头文件改成这样的
#ifndef __DELAY_H__
#define __DELAY_H__
extern void delay1ms(void);
extern void delay2ms(void);
extern void delay3ms(void);
extern void delay5ms(void);
extern void delay8ms(void);
extern void delay9ms(void);
extern void delay10ms(void);
extern void delay30ms(void);
extern void delay50ms(void);
extern void delay100ms(void) ;
extern void delay3s(void);
#endif
刚才改了,还是不行。。
追答extern void delay3s(void); 改成 extern void delay1s(void); 我手误
追问嗯,我全部改为delay1s了, 加上extern也出现一样的警告
追答请加我QQ吧,QQ就是我的账号,把程序发给我,我用KEIL看看
本回答被提问者和网友采纳