keil编译程序时显示有一个警告,但是实在不知道怎么错了,帮忙看下 5

keil显示:***WARNINGL16:UNCALLEDSEGMENT,IGNOREDFOROVERLAYPROCESSSEGMENT:?PR?READ_ROM?RHA... keil显示: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?READ_ROM?RHA

程序是这个:
#include<AT89X52.H>
#include"INTRINS.H"
#define BUSY1 (DQ1==0) //定义busy信号
sbitLED_0=P2^0; //定义数码管控制脚为P1口的0-3脚
sbitLED_1=P2^1;
sbitLED_2=P2^2;
sbitLED_3=P2^3;
sbitDQ1=P1^6; //定义18B20单总线引脚

voiddisplay(unsigned char d1,unsigned char d2,unsigned char d3,unsigned char d4);//声明显示函数
voidds_reset_1(void); //声明18B20复位函数
voidwr_ds18_1(char dat); //声明18B20写入函数
voidtime_delay(unsigned char time);//声明延时函数
intget_temp_1(void); //声明18B20读入温度函数
voiddelay(unsigned int x); //声明延时函数
voidread_ROM(void); //声明18B20读ROM函数
intget_temp_d(void); //声明获取温度函数
voidds_init(void); //声明18B20初始化函数
voidds_getT(void); //声明18B20获得温度显示值函数
/*定义数码管段码=====0-9=====A-G=====*/
unsignedchar a[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//共阳极数码管的段码0 1 2 3 4 5 6 7 8 9 A B C D E F

他说没有调用程序,我这个调用了啊

voidread_ROM(void)
{
int n;
ds_reset_1();
check_pre_1();
wr_ds18_1(0x33);
for(n=0;n<8;n++){ROM[n]=rd_ds18_1();}
}

我现在都不能生成HEX文件。。不知道是不是因为这个警告
展开
 我来答
wolf_lhy
推荐于2018-04-07 · TA获得超过6609个赞
知道大有可为答主
回答量:1090
采纳率:66%
帮助的人:553万
展开全部
问题我已经远程帮你解决了,你之所以不能生成HEx,是你程序有个语法错误,在程序上面有点 小数点字符,而不是因为这个警告,这类的警告不影响程序的Hex文件的生成。
另外,你的C语言有点弱,你那个叫函数的定义,而非调用,把C语言复习一下,做一个优秀的单片机工程师,C语言必须做到精通。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式