标题: 关于单片机C语言函数调用问题 [打印本页]

作者: zzz84411285    时间: 2021-1-19 20:54
标题: 关于单片机C语言函数调用问题
当我只调用了5ms后,编译完成时他还把15ms的函数警告了下未调用,可不可以有什么指令让编译器知道我不用delay.h的15ms延时函数,不要去编译我没调用过的函数

/******************************************************/
//包含头文件
/******************************************************/
#include "config.h"
#include "delay.h"

/******************************************************/
//函数名称:Delay15ms
/******************************************************/
void delay15ms()
{
        uint8 i,j;
        i = 27;
        j = 226;
        do
        {
                while (--j);
                _nop_();
        }
        while(--i);
}
/******************************************************/
//函数名称:Delay5ms
/******************************************************/
void delay5ms(void)   //误差 0us
{
    unsigned char a,b;
    for(b=185;b>0;b--)
        for(a=12;a>0;a--);
}



作者: wulin    时间: 2021-1-20 06:30
如果你明确的知道某函数没有调用并不影响程序正常运行可以忽略这个警告或者把它屏蔽掉。编译器只对语法作判断,不对逻辑作判断。
作者: 黄youhui    时间: 2021-1-20 08:52
/*
用这个注释掉
*/
作者: munuc_w    时间: 2021-1-20 09:08
第一如楼上所说。第二可以使用条件编译。
作者: Abbdboy    时间: 2021-1-20 09:33
编译器不会去管你的逻辑,他只管你的语法,语法正确就正常输出
作者: 人人学会单片机    时间: 2021-1-20 09:59
真不知道你是看什么资料学的,还在纠结delay 这种死等多少时间。
第一、不同单片机内核,速度不一样。你算出来的0误差有啥用?
第二、不同的变量长度,执行速度不一样。你算出来的0误差有啥用?
第三、变量在不同的位置,读写速度又不一样。你算出来的0误差有啥用?
第四、中断一打开,误差可能出现500%。你算出来的0误差有啥用?
超过50us的延迟,就不要再用死等了。
作者: zzz84411285    时间: 2021-1-20 12:49
munuc_w 发表于 2021-1-20 09:08
第一如楼上所说。第二可以使用条件编译。

条件编译吗,我明白了,我就是想不到这个词,我下来查查,看怎么用
作者: zzz84411285    时间: 2021-1-20 12:56
wulin 发表于 2021-1-20 06:30
如果你明确的知道某函数没有调用并不影响程序正常运行可以忽略这个警告或者把它屏蔽掉。编译器只对语法作判 ...

我明白了,确实不会影响编译,其实我就是想把一些函数当成功能模块,要用的时候在配置头文件里把这个功能开启调出来用它,如果后面函数模块越来越多,那不是警告就越来越多了,我就光考虑这点了

作者: zzz84411285    时间: 2021-1-20 12:56
黄youhui 发表于 2021-1-20 08:52
/*
用这个注释掉
*/

你这个办法可行
作者: 黄youhui    时间: 2021-1-20 13:33
人人学会单片机 发表于 2021-1-20 09:59
真不知道你是看什么资料学的,还在纠结delay 这种死等多少时间。
第一、不同单片机内核,速度不一样。你算 ...

一般用到这种死等的都懒得开定时器的,或者定时器不够用的。delay在STM32里面有专门的滴答定时器51好像没有。

作者: 单片机研究协会    时间: 2021-1-20 13:34
LX51 REMOVEUNUSED 了解一下
作者: slf252    时间: 2021-1-20 15:08
注释掉,或者做个条件编译




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