找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3714|回复: 7
收起左侧

*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?...

[复制链接]
ID:137248 发表于 2016-8-21 17:00 | 显示全部楼层 |阅读模式
这是我的程序,编译过后会有警告出现,但是程序找不出错误,也没有没调用的子函数求解。。。
#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

回复

使用道具 举报

ID:137239 发表于 2016-8-21 17:18 | 显示全部楼层
好像是说你声明了FZ(),但是没有调用
回复

使用道具 举报

ID:137248 发表于 2016-8-21 19:19 | 显示全部楼层
STC89C51 发表于 2016-8-21 17:18
好像是说你声明了FZ(),但是没有调用

可是不是有调用吗?
回复

使用道具 举报

ID:137239 发表于 2016-8-21 23:01 | 显示全部楼层
水分子 发表于 2016-8-21 19:19
可是不是有调用吗?

我终于看清了,你的while()循环后面有一个分号,导致main函数无法向下进行,去掉分号就好了。
回复

使用道具 举报

ID:137248 发表于 2016-8-22 21:30 | 显示全部楼层
STC89C51 发表于 2016-8-21 23:01
我终于看清了,你的while()循环后面有一个分号,导致main函数无法向下进行,去掉分号就好了。

我。。。无地自容了。。。。非常感谢。。。
回复

使用道具 举报

ID:137239 发表于 2016-8-22 23:53 来自手机 | 显示全部楼层
水分子 发表于 2016-8-22 21:30
我。。。无地自容了。。。。非常感谢。。。

以后一定要注意,这虽说是小问题,如果代码很长,就不好找了。
回复

使用道具 举报

ID:137248 发表于 2016-8-23 08:40 | 显示全部楼层
STC89C51 发表于 2016-8-22 23:53
以后一定要注意,这虽说是小问题,如果代码很长,就不好找了。

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表