标题: WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS Keil报错 [打印本页]

作者: xiaobao333    时间: 2021-2-10 13:18
标题: WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS Keil报错
提示这个报警是哪点出错了 ,有大佬帮看看么
报警*** 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();
  }


}


作者: csmyldl    时间: 2021-2-10 17:49
这个错误出现的原因是程序中有一些子程序未调用,如果不在乎程序存储空间的话,可不予理会
作者: zsw3721    时间: 2021-2-10 18:10
while(1)
  {void wx();
  }
这样调用函数是不对的,直接用wx();才能调用,加上void就变成声明了,不是调用。
作者: zsw3721    时间: 2021-2-10 18:11
while(1)
{void wx();
  }
这样调用函数有误,前面的void不要,直接写wx();
作者: suuy79    时间: 2021-2-10 18:35
没有错误,存在为调用的函数
while(1)
  {void wx();
  }

改成:
while(1)
  {wx();
  }
作者: tyrl800    时间: 2021-2-10 19:33
void wx();子程序调用错误;编译器认为主程序未调用wx()子程序,故出现上述警告。
作者: wulin    时间: 2021-2-10 21:30
void main()
{
        while(1)
        {
                wx();//多了void
        }
}




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