[求助] 为什么一个函数明明调用了,却编译时却提示没有被调用

一沙一世   2024-5-10 15:08 楼主

为什么一个函数明明调用了,却编译时却提示没有被调用,下图是lvd_check_low() 被调用

image.png  

下图是编译中提示  uncalled function  ,  请问这是怎么回事

image.png  

 

回复评论 (8)

有可能b_b这个变量一直未改变。或者永远不等于0x04

点赞 (1) 2024-5-10 17:02

头文件声明一下,下面的那个函数就行了吧    可能是没有找到源文件。

点赞  2024-5-10 17:10
引用: wangerxian 发表于 2024-5-10 17:02 有可能b_b这个变量一直未改变。或者永远不等于0x04

嗯嗯嗯,感觉是逻辑没有覆盖到else这里,所以,就一直没有被调用

点赞  2024-5-10 23:47

检查一下b_b类型  常量不行 变量要是uint8_t或者。。。

其他类型变量可以把b_b强制为uint8_t 试试。

if((uint8_t)(b_b) != 0x04)

{

}

点赞  2024-5-11 08:46
引用: damiaa 发表于 2024-5-11 08:46 检查一下b_b类型  常量不行 变量要是uint8_t或者。。。 其他类型变量可以把b_b强制为uint8_t 试试 ...

非常感谢。请问 【检查一下b_b类型  常量不行 】中常量不行是什么意思,难道常量不能跟4作比较吗?

点赞  2024-5-11 09:25
引用: 一沙一世 发表于 2024-5-11 09:25 非常感谢。请问 【检查一下b_b类型  常量不行 】中常量不行是什么意思,难道常量不能跟4作比较 ...

常量和常量比较只有一个结果  要么相等 要么不等。还比较啥呢。没意义啊。

点赞  2024-5-11 12:30

你在else这里打个断点,然后你跑,看看是不是压根就没走进去else。

或者你这里加一个命令,直接关机(开玩笑),看看会不会关机。

点赞  2024-5-11 16:30

被优化了

默认摸鱼,再摸鱼。2022、9、28
点赞  2024-5-11 17:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复