标题: Keil MDK5编译出错的疑问 [打印本页]

作者: 温柔的郎    时间: 2022-1-10 12:08
标题: Keil MDK5编译出错的疑问
各位大神,我在用STC8A8K的开发板,编译后老是出错,不知哪里的问题啊,请有明白的大神指导指导,不胜感谢!!!
我在给STC8A8K的LED灯PWM程序添加个OLED功能,源程序仅仅是PWM功能,编译正确,下载没问题,如下图


下来我增加了OLED文件,但并未增加oled.c文件,此时编译,依然正确,如下图


接下来增加oled.c文件,此时编译就错误了,如下图


软件注C破J情况,如下图


有网友说编译提示时说软件没有p解,受代码数量限制,可我这也p解了啊,还是编译不了,哪里的问题啊,
请有知道的大神指导指导,感谢感谢!!


作者: 3125311919    时间: 2022-1-10 13:18
这个需要看你编译对话框里面给提示的信息   有可能是添加新的模块后 检查出语法或头文件方面的错误
作者: AAA_MCU    时间: 2022-1-10 15:19
添加你的.c文件的时候文件类型勾选.c或者All File,你是弄成Image File了

作者: 温柔的郎    时间: 2022-1-10 16:36

各位大神,添加的时候自动选择oled.c文件了,选其他的,不行,添加不进去的啊,但选择oled.c文件后,编译就报错了




作者: 123456ZXC1    时间: 2022-1-10 18:16
看看上面报错信息啊  我严重怀疑不是地址问题就是.h文件问题
作者: wufa1986    时间: 2022-1-11 10:05
你的保证文件是正确的,里面有些函数你根本没有,怎么编译
作者: datouyuan    时间: 2022-1-11 13:46
编译信息不是只有4行,上面还有。你要报所有编译信息发出,我们才好帮你解决。
作者: 530378687    时间: 2022-1-11 16:28
报错的OLED.C文件里,oled_init函数没有定义吧
作者: 温柔的郎    时间: 2022-1-12 09:06
各位大神,我补充说下,我先在一个LED点灯的程序里,增加了OLED显示程序,编译,下载都没问题,然后用同样的方法,同样的OLED程序,又在PWM程序里增加OLED程序就不行,过程就是上面发的那样,OLED程序确定好的,其他地方已经oled已经正常显示了,
作者: datouyuan    时间: 2022-1-12 09:11
本帖最后由 datouyuan 于 2022-1-12 09:20 编辑
温柔的郎 发表于 2022-1-12 09:06
各位大神,我补充说下,我先在一个LED点灯的程序里,增加了OLED显示程序,编译,下载都没问题,然后用同样 ...

你应该把编译的所有信息发出,不是仅仅最后面4行。
你反复说明的那些信息不重要,要点是编译信息。你看下图,就是正确的编译信息也不只4行。




作者: cheney03    时间: 2022-1-12 09:25
main.c中没有包含OLED的头文件
作者: 温柔的郎    时间: 2022-1-12 09:45
添加oled.h文件后编译下,在main,c里就会有了,但还是报错的
如下图


编译的全部提示信息



作者: 温柔的郎    时间: 2022-1-12 09:47
这是源程序
有懂的大神麻烦指导指导啊,感谢!!
PWM呼吸灯1.rar (61.08 KB, 下载次数: 3)


作者: wojiaoguogai    时间: 2022-1-12 09:51
1.oled.c  157行不可达
2._DELAY_MS 重复初始化

你这代码是网上copy的吧
作者: datouyuan    时间: 2022-1-12 09:56
错误信息只有一个
有多个delay_ms(不区分大小写),你只要解决这个错误就可以编译ok了。可通过查找解决,如下图



作者: cheney03    时间: 2022-1-12 10:10
delay_ms()函数 重复定义,注释掉一个就可以了。

51hei截图20220112100747.png (223.62 KB, 下载次数: 52)

51hei截图20220112100747.png

作者: cheney03    时间: 2022-1-12 10:14
cheney03 发表于 2022-1-12 10:10
delay_ms()函数 重复定义,注释掉一个就可以了。

无报错

51hei截图20220112101333.png (114.85 KB, 下载次数: 54)

51hei截图20220112101333.png

作者: cheney03    时间: 2022-1-12 10:17
cheney03 发表于 2022-1-12 10:14
无报错

同样,把没用到的函数先注释,就不会有警告了
作者: 温柔的郎    时间: 2022-1-12 10:29
感谢大神们不嘲笑我小白的耐心指导!!我刚自学这个STC8,买了个开发板,人家简单配套了几个程序,想学习慢慢增加几个功能,源程序只有PWM,我想增加给OLED,可以显示变化的值,
再次感谢老师们的解释和指导!!
作者: 温柔的郎    时间: 2022-1-12 10:35
感谢老师们的指导,我按指导修改了1给的事情的名称后编译通过了,
想当年没学好鹰文,限制也看不太懂鹰文提示啊,
再次感谢老师们的指导,下次移植或者增添功能,得注意这些了,






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1