标题:
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文件:
02.png
(16.48 KB, 下载次数: 72)
下载附件
2021-9-28 13:38 上传
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