发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] TFT显示实验里的串口有什么用?
157 TFT 串口 函数
分享
请问一下,TFT显示实验里有用到串口
串口干了什么呀
我把usart.h文件和初始化函数屏蔽掉,TFT就无法显示了,
这是为什么呢 ?
其他多余的头文件我都屏蔽试了一次,
像 "exti.h"、 "wdg.h"、 "timer.h"这几个文件,但是usart.h一旦不用就会出问题,
为什么?
0
2019-9-8 22:23:19   评论 分享淘帖 邀请回答

相关问题

11个回答
因为LCD_Init函数调用了printf.你把printf屏蔽掉就OK了.
2019-9-9 06:36:10 评论

举报

我在这个例程上,还有点点小疑问,也许对于大虾们来说很幼稚了,但是我还是贴出来吧,相信也会有和我一样菜又喜欢钻牛角尖的。
我把test.c文件里的usart.h文件和串口初始化程序都屏蔽掉,但是ILI93xx.c文件中printf函数保留,编译链接都没有报错,也无任何警告,我就开始纳闷了,是不是keil出问题啦,按常理,应该要报错的。
后面找到ILI93xx.c文件里,发现原来它也包含了头文件usart.h。
于是将ILI93xx.c文件里的usart.h也屏蔽掉,ILI93xx.c文件中printf函数保留,编译也没有报错,但是有了有如下警告:
..\HARDWARE\LCD\ILI93xx.c(240): warning:  #223-D: function "printf" declared implicitly
我又想不通了,明明就没有了声明和定义,怎么会是declared implicitly?难道还有其他地方声明了此函数?
后面想了想C标准库里有这个函数的,应该是在stdio.h文件里面,可是,我在工程里面怎么都找不到哪里包含进了stdio.h文件啊。
到底是怎么回事?
工程里面test.c文件就只包含这些文件了:
#include <stm32f10x_lib.h>
#include "sys.h"
#include "delay.h"
#include "led.h" 
#include "lcd.h"  
而且ILI93xx.c文件也只包含:
#include "lcd.h"
#include "stdlib.h"
#include "font.h" 
#include "delay.h"
现在问题就是,在此工程里面,ILI93xx.c文件里用到了printf函数,而这个函数既没有在哪里声明也没有在哪里定义,怎么不报错?而仅仅只是一个警告:..\HARDWARE\LCD\ILI93xx.c(240): warning:  #223-D: function "printf" declared implicitly
2019-9-9 07:09:22 评论

举报

我继续沿着stm32f10x_lib.h找了一下,也没有包含stdio.h文件
2019-9-9 07:19:13 评论

举报

2019-9-9 07:36:10 评论

举报

2019-9-9 07:47:05 评论

举报

我没有包含usart.h文件啊?
2019-9-9 07:59:11 评论

举报

我并没有包含usart.h文件,
2019-9-9 08:08:27 评论

举报

你自己建一个最简单的工程看看吧.
2019-9-9 08:25:58 评论

举报

我自己建了一个工程,随便增加一个ramread()函数,会出现错误:app.axf: Error: L6218E: Undefined symbol ramread (referred from app.o).
2019-9-9 08:36:37 评论

举报

2019-9-9 08:46:34 评论

举报

刚试了,应该是keil软件本来就是这样。
我建了一个什么都没有的工程,直接在main函数里写个printf(),也只是一个警告,没有报错。
但是我在用一个ramread()函数,就会报错。
看来keil在编译链接的时候干了不少不为人知的事情。呵呵
2019-9-9 08:59:31 评论

举报

只有小组成员才能发言,加入小组>>

32个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表