标题: keil警告未调用功能,很奇怪的报错,到底为什么 [打印本页]

作者: cccccc    时间: 2020-7-20 14:17
标题: keil警告未调用功能,很奇怪的报错,到底为什么
用的keil4进行编译的单片机程序,因为工程共包含11个 .c 文件,编译之后有8个警告,有3个c文件没有警告,例如下面:

*** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
    NAME:    ?CO?KEY
*** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
    NAME:    ?CO?GPIO
*** WARNING L16: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
    NAME:    ?CO?DELAY

问号后面都是其中.c文件的名称,并不是某一个函数的名称,而其中的函数已经检查多次了,肯定都有调用,不知道这个警告到底什么原因导致的??

编译选项里 Use Extended Linker(LX51) instead of BL51,也勾选了,警告不变,没有用。

比如 key.h 文件内容:
#ifndef __KEY_H
#define __KEY_H
#include "config.h"

sbit key_set = P2^1;
sbit key_up  = P2^2;
sbit key_down= P2^3;
sbit key_ok  = P2^4;

void ScanKey();
void UpKey();
void DownKey();
#endif


key.c文件:


main.c 中 while(1)循环里调用了 ScanKey();  该函数里又调用了UpKey()和DownKey()。
有没有人遇到相似的问题??

作者: carpcarey    时间: 2020-7-20 21:47
完整代码贴一下。怀疑由于代码问题永远不满足执行到这三个函数的条件。
作者: man1234567    时间: 2020-7-21 10:11
警告是表示发现了三个没被调用的函数,不影响编译和执行。
作者: 权威人物    时间: 2020-7-21 10:52
表示这个函数没有使用,提供两种方法处理1、某度搜索[Keil]如何消除有未调用的函数而出现的警告,有教程我就不写了;2、注释掉未使用函数
作者: lovezjf234    时间: 2020-7-21 18:55
有时候调用的函数中有嵌套函数keil也会报这种错误。需要对keil进行设置,避免这种报错
作者: lxbhcy    时间: 2020-7-28 17:11
这个关系不大吧。。你看着不舒服,就注释掉




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