编写不易,仅供学习,参考谢谢,还望理解。
#常见报错
文件最后一行没有新行
翻译:文件的最后一行结束时没有新行
解决方法:定位到,提示报错的 .h 文件 报错行 ,加上一个新行
函数定义时与官方提供源文件内命名冲突
翻译:象征ADC_Init多定义(STM32F4xxx adc.c 和 adc.c)
解决方法:这里是函数定义,命名重复跟官方定义的头文件里面,这里,只需要更改自定义函数ADC_Init的命名就可以了
调用函数该函数没有定义(可能是函数名错了,或者是自己没有定义这个函数)
翻译:函数 Get_Adc_Value 没有声明(就是没有定义)
解决方法:定位到报错行,检查调用函数,填写正确调用函数名,或者这个调用函数自己没有定义
没有添加头文件目录,报错
原文:..\..\app\main.c(11): error: #5: cannot open source input file "rtc.h": No such file or directory
翻译:不能打开资源输入文件 rtc.h 没有文件或者目录(这里指的是头文件目录)
解决方法:本人是因为没有添加头文件路径,添加头文件路径,就能解决了,如果不会添加头文件目录的同学,可以去找找教程。
定义源文件没有引入,官方提供头文件,报错
原文:..\..\bsp\RTC\rtc.c(6): warning: #223-D: function "RCC_APB1PeriphClockCmd" declared implicitly
翻译:函数"RCC_APB1PeriphClockCmd"未声明(这个是库函数,调用提示没有这个函数,就是没有引入对应的头文件啊)
解决方法:定义源文件内,加入官方提供头文件,我使用的是嘉立创提供的开发功能模版,头文件不一样,不要差异
宏定义重复报错
原文:..\..\bsp\IIC\iic.h(12): warning: #47-D: incompatible redefinition of macro "GPIO_SCL" (declared at line 8)
翻译:..\. \bsp\IIC\ IIC .h(12):警告:#47-D:宏“GPIO_SCL”的不兼容重定义(在第8行声明)
解决方法:这个问题是宏定义出现重复定义,也就是这个宏名称重复了,换一个就好了。
欢迎指正,希望对你有所帮助!!!