标题: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?... [打印本页]

作者: 水分子    时间: 2016-8-21 17:00
标题: *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?...
这是我的程序,编译过后会有警告出现,但是程序找不出错误,也没有没调用的子函数求解。。。
#include "reg51.h"
#define uc unsigned char
#define ui unsigned int
#define duan P0
#define wei P1

uc cnt,x[8];

uc code dm[]=
{
        0xc0,0xf9,0xa4,0xb0,
        0x99,0x92,0x82,0xf8,
        0x80,0x90,0x88,0x83,
        0xc6,0xa1,0x86,0x8e
};

uc code wm[]=
{
        0xfe,0xfd,0xfb,0xf7,
        0xef,0xdf,0xbf,0x7f
};


void delay(ui c)
{
        uc i,j;
        for(;c>0;c--)
        for(i=38;i>0;i--)
        for(j=130;j>0;j--);
}

void fz()
{
        duan=0x00;
        wei=0x00;
        wei=wm[cnt];
        duan=dm[x[cnt]];
        cnt=++cnt%8;
        delay(1);
}

void main()
{

        while(1);
        {
                fz();
        }
}



*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?FZ?JSQ0_2


作者: STC89C51    时间: 2016-8-21 17:18
好像是说你声明了FZ(),但是没有调用
作者: 水分子    时间: 2016-8-21 19:19
STC89C51 发表于 2016-8-21 17:18
好像是说你声明了FZ(),但是没有调用

可是不是有调用吗?
作者: STC89C51    时间: 2016-8-21 23:01
水分子 发表于 2016-8-21 19:19
可是不是有调用吗?

我终于看清了,你的while()循环后面有一个分号,导致main函数无法向下进行,去掉分号就好了。
作者: 水分子    时间: 2016-8-22 21:30
STC89C51 发表于 2016-8-21 23:01
我终于看清了,你的while()循环后面有一个分号,导致main函数无法向下进行,去掉分号就好了。

我。。。无地自容了。。。。非常感谢。。。
作者: STC89C51    时间: 2016-8-22 23:53
水分子 发表于 2016-8-22 21:30
我。。。无地自容了。。。。非常感谢。。。

以后一定要注意,这虽说是小问题,如果代码很长,就不好找了。
作者: 水分子    时间: 2016-8-23 08:40
STC89C51 发表于 2016-8-22 23:53
以后一定要注意,这虽说是小问题,如果代码很长,就不好找了。

嗯,谢谢,还有一个问题。我设了a,b两个变量。然后计算a=a*10+b;但是结果不是我想要的,这样的算法是错误的吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1