IAR代码错误总结(一)

一、错误分析方法:

  1. 检查硬件无误。
  2. 检查编译是否错误。(实在没辙时试试重启软件)
  3. 编译、运行不出错,但结果不对,可能是逻辑错误。
  4. 上述均没有错误,若硬件还是显示错误,就不要上述.c .h文件下代码了,可能出现在主程序的代码中,比如没有编写或使用硬件初始化函数。
  5. 各方面检查无误,就考虑一些与硬件相关但不是驱动的文件,如oled显示乱码,但其实是取字模软件的错误产生了错误的数组(如此简单的问题)。

二、以下展示我遇到的一些错误:

错误类型1:编译器会提示,若提示错误相当多且种类多,且代码逻辑、语法没有错误,很可能多加了一些  中括号、小括号。

错误类型2:函数声明错误:"implicit declaration of function" 功能函数.c文件的声明一般写在 功能函数.h 文件中,再通过 #include 功能函数来使用声明功能,main.c文件或其他.c文件只需要#include 功能函数.h文件 就可以使用功能函数啦。多个 .h 文件可以“传递”声明。

/*function.c 文件中*/

#include "headfile.h"  //一定需要加
int func(int a){
    return a+5;
    //代码
}

/*function.h文件中*/

extern int func(int a);

/*headfile.h文件中    这是一个总的声明文件*/

#include "function.h"   //main文件只需要包含文件,就可以使用这句代码内的.h文件内的声明了的函数



/*main.c文件中*/
#include "headfile.h"
func(4);


//输出 9

错误类型3:出现error报告文件莫名找不到或弹窗警告:在排除文件路径中出现中文的错误后仍无用,-->删除临时文件,IAR中右击项目总文件夹,选择clean,等待十几二十分钟,错误消失。(不知道原因)

猜你喜欢

转载自blog.csdn.net/weixin_52013159/article/details/121389415