找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3122|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

keil警告未調(diào)用功能,很奇怪的報(bào)錯(cuò),到底為什么

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
用的keil4進(jìn)行編譯的單片機(jī)程序,因?yàn)楣こ坦舶?1個(gè) .c 文件,編譯之后有8個(gè)警告,有3個(gè)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

問號(hào)后面都是其中.c文件的名稱,并不是某一個(gè)函數(shù)的名稱,而其中的函數(shù)已經(jīng)檢查多次了,肯定都有調(diào)用,不知道這個(gè)警告到底什么原因?qū)е碌??br />
編譯選項(xiàng)里 Use Extended Linker(LX51) instead of BL51,也勾選了,警告不變,沒有用。

比如 key.h 文件內(nèi)容:
#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)循環(huán)里調(diào)用了 ScanKey();  該函數(shù)里又調(diào)用了UpKey()和DownKey()。
有沒有人遇到相似的問題??
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:267719 發(fā)表于 2020-7-20 21:47 | 只看該作者
完整代碼貼一下。懷疑由于代碼問題永遠(yuǎn)不滿足執(zhí)行到這三個(gè)函數(shù)的條件。
回復(fù)

使用道具 舉報(bào)

板凳
ID:584814 發(fā)表于 2020-7-21 10:11 | 只看該作者
警告是表示發(fā)現(xiàn)了三個(gè)沒被調(diào)用的函數(shù),不影響編譯和執(zhí)行。
回復(fù)

使用道具 舉報(bào)

地板
ID:311846 發(fā)表于 2020-7-21 10:52 | 只看該作者
表示這個(gè)函數(shù)沒有使用,提供兩種方法處理1、某度搜索[Keil]如何消除有未調(diào)用的函數(shù)而出現(xiàn)的警告,有教程我就不寫了;2、注釋掉未使用函數(shù)
回復(fù)

使用道具 舉報(bào)

5#
ID:739545 發(fā)表于 2020-7-21 18:55 | 只看該作者
有時(shí)候調(diào)用的函數(shù)中有嵌套函數(shù)keil也會(huì)報(bào)這種錯(cuò)誤。需要對(duì)keil進(jìn)行設(shè)置,避免這種報(bào)錯(cuò)
回復(fù)

使用道具 舉報(bào)

6#
ID:808700 發(fā)表于 2020-7-28 17:11 | 只看該作者
這個(gè)關(guān)系不大吧。。你看著不舒服,就注釋掉
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表