STM32跑马灯遇到的问题及解决方法及体会


一、跑马灯程序运行所遇问题
1,按照正点原子stm32视频学习时,在编写跑马灯程序中,出现:“Error:L6218E:Undefined symbol main(reffered from __rtentry2.o)”
       百度结果是可能 1)main拼写错误(我没有拼写错误);
                                 2)主函数文件中没有调用主函数;(此时我还没有写主函数文件)
但是,我点击最左边的编译符号后,错误消失了。写完主函数后,此错误消失;
2,写完主函数后,出现:“Error:L6200E:Symbol delay_init multiply defined(by delay.o and main.o)
                                          Error:L6200E:Symbol delay_init multiply defined(by delay.o and main.o)
                                          Error:L6200E:Symbol delay_init multiply defined(by delay.o and main.o)
                                          Error:L6200E:Symbol delay_init multiply defined(by delay.o and main.o)
                                          Not enough information to list image symbols
                                          Not enough information to list the image map”
      百度等解释是:函数重复定义,然后我找了半天没找出来解决方法....最后发现是在在主函数文件中调用delay.h时打成了delay.c。。。
     一定要认真!!!
二,体会
1,在主函数编写时,如果  #include "led.h" 前面出现 ×则检查头文件是否添加进去,或者重新添加一次;
2 ,写完函数后,一定要回车,以避免不必要麻烦;
3,.h是头文件,.c是源文件;利用#ifndef,#define,#endif格式条件编译,可以避免头文件内容被重复定义。



你可能感兴趣的:(STM32跑马灯遇到的问题及解决方法及体会)