*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: MAIN MODULE: C:\KEIL\C51\LIB\C51S.LIB (?C_INIT)

***WARNINGL2:REFERENCEMADETOUNRESOLVEDEXTERNALSYMBOL:MAINMODULE:C:\KEIL\C51\LIB\C51S.... *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: MAIN
MODULE: C:\KEIL\C51\LIB\C51S.LIB (?C_INIT)
ADDRESS: 080DH
请问大侠们这个警告怎么解决啊?不解决对生成的hex文件有影响么,程序如下:
#include <INTRINS.H>
#include <AT89X51.H>
#include <WINDOWS.H>
#include <500ms.h>
#define S (P3_bit.P3_2)
#define PWM (P3_bit.P3_7)
extern char C;
void main (void)
{
EA=1; //开放总中断
EX0=1; //允许使用外中断
IT0=1; //选择负跳变来触发外中断
TMOD=0x00; //使用定时器T0的模式1
C=500; //C为全局变量,储存定时器的定时常数,将其值默认为500

while(1) //无限循环,输出脉冲信号
PWM=0; //PWM被位定义为P3.7引脚,使该引脚输出低电平“0”
delay(C); //延时半个周期,由定时器查询实现延时
PWM=1;//P3.7引脚输出高电平“1”
delay(C);//延时半个周期
}
//以下是外中断T0的中断服务程序
void int0(void) interrupt 0 using 0 //外中断0的中断编号为0
{
Val=AAA*51;
C=166+20*A_D();//进行A/D转换,由式(2)计算脉冲信号的半周期
}
#endif
谢谢
展开
 我来答
骂跑了
推荐于2018-05-13 · 超过14用户采纳过TA的回答
知道答主
回答量:49
采纳率:100%
帮助的人:42.3万
展开全部
把extern char C改为 char C 定义在最前面,默认就是全局变量,没必要再加个extern;
如果C是定义在main函数内部的全局变量需要加个extern声明它是全局变量
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式