之前总结过函数未定义的原因,时间久了容易发懵
1.没有添加路径;
2.添加的里没有该h文件;
3.同一个工程下有多个同名的h文件,恰好被引用的h文件中没有这个函数
4.没有将c文件添加进入工程中编译,在使用sdk的驱动文件的时候经常会忘记这点,写出来做提醒
变量重复定义原因:
1.就是简单的重复定义,在其他文件重复定义了。这种最好解决,一般查找全局就行;
2.整个工程中有同名的文件,且某些定义一样;
3.某些文件没有加 #ifndef ,这是最坑的,如果1.2都不是,你又是接的别人的代码或者单片机供应商很一般,sdk里都不加这个,就需要重点排查变量的h文件有没有加#ifndef ;
对于有的函数存在,但是仿真函数的前后能仿真断电,但是这个函数却一直进不去,检查该函数内部是否空无一物,如果是,那就是被编译器优化了!