找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1532|回复: 6
打印 上一主题 下一主题
收起左侧

WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS Keil报错

[复制链接]
跳转到指定楼层
楼主
ID:883847 发表于 2021-2-10 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示这个报警是哪点出错了 ,有大佬帮看看么
报警*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?WX?闪烁
代码
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code smgduan[16]=(0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71);

sbit sa=P2^2;
sbit sb=P2^3;
sbit sc=P2^4;

void delay(uint i)
{ while(i--);

}

void wx()
{ uint a;
for(a=0;a<8;a++)
  {switch(a)
   {case 0:
   sa=0;sb=0;sc=0;break;
    case 1:
   sa=1;sb=0;sc=0;break;
    case 2:
   sa=0;sb=1;sc=0;break;
    case 3:
   sa=1;sb=1;sc=0;break;
    case 4:
   sa=0;sb=0;sc=1;break;
    case 5:
   sa=1;sb=0;sc=1;break;
    case 6:
   sa=0;sb=1;sc=1;break;
    case 7:
   sa=1;sb=1;sc=1;break;
      }
   P0=smgduan[a];
   delay(200);
    P0=0x00;
  }
}


void main()
{
while(1)
  {void wx();
  }


}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2021-2-10 17:49 | 只看该作者
这个错误出现的原因是程序中有一些子程序未调用,如果不在乎程序存储空间的话,可不予理会
回复

使用道具 举报

板凳
ID:702386 发表于 2021-2-10 18:10 | 只看该作者
while(1)
  {void wx();
  }
这样调用函数是不对的,直接用wx();才能调用,加上void就变成声明了,不是调用。
回复

使用道具 举报

地板
ID:702386 发表于 2021-2-10 18:11 | 只看该作者
while(1)
{void wx();
  }
这样调用函数有误,前面的void不要,直接写wx();
回复

使用道具 举报

5#
ID:236982 发表于 2021-2-10 18:35 | 只看该作者
没有错误,存在为调用的函数
while(1)
  {void wx();
  }

改成:
while(1)
  {wx();
  }
回复

使用道具 举报

6#
ID:275826 发表于 2021-2-10 19:33 | 只看该作者
void wx();子程序调用错误;编译器认为主程序未调用wx()子程序,故出现上述警告。
回复

使用道具 举报

7#
ID:213173 发表于 2021-2-10 21:30 | 只看该作者
void main()
{
        while(1)
        {
                wx();//多了void
        }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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