stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (referre

在TFLCD屏幕中遇到的问题及解决方案

1、问题提出

在对正点原子提供的有关TFLCD屏幕做移植过程中,编译过程中没有报错,但是链接时就出现了报错,报错信息如下图所示:

像这种错误,无法定义到错误所在处,也定义了相关变量,那这种错误怎么造成的呢?大概是在tflcd.o文件中没有找到"POINT_COLOR"和”lcd_dev“这两个变量,那么tflcd.o文件怎么生成的呢?其通过工程中的tflcd.c通过编译生成,也就是我们在c文件中未定义未定义这两个变量。基于此,我们找到问题的来源了。现在我们就来解决此问题。

首先我们可以定义到tflcd.h文件中,可以看到我们定义了三个变量

extern LCD_DEV lcd_dev;		//
extern u16 POINT_COLOR;
extern u16 BACK_COLOR;		//

但是仅这样编译就会出现上面所述的错误,此时我们还要在c文件的最上面,就是头文件下面还要重新定义一下这个变量,定义方式如下所示:

LCD_DEV lcd_dev;
u16 POINT_COLOR;
u16 BACK_COLOR;

此时再编译,问题解决。

参考文档

版权声明:本文为CSDN博主「学聚思」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43085298/article/details/112213405

在TFLCD屏幕中遇到的问题及解决方案

1、问题提出

在对正点原子提供的有关TFLCD屏幕做移植过程中,编译过程中没有报错,但是链接时就出现了报错,报错信息如下图所示:

像这种错误,无法定义到错误所在处,也定义了相关变量,那这种错误怎么造成的呢?大概是在tflcd.o文件中没有找到"POINT_COLOR"和”lcd_dev“这两个变量,那么tflcd.o文件怎么生成的呢?其通过工程中的tflcd.c通过编译生成,也就是我们在c文件中未定义未定义这两个变量。基于此,我们找到问题的来源了。现在我们就来解决此问题。

首先我们可以定义到tflcd.h文件中,可以看到我们定义了三个变量

extern LCD_DEV lcd_dev;		//
extern u16 POINT_COLOR;
extern u16 BACK_COLOR;		//

但是仅这样编译就会出现上面所述的错误,此时我们还要在c文件的最上面,就是头文件下面还要重新定义一下这个变量,定义方式如下所示:

LCD_DEV lcd_dev;
u16 POINT_COLOR;
u16 BACK_COLOR;

此时再编译,问题解决。

参考文档

版权声明:本文为CSDN博主「学聚思」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43085298/article/details/112213405

生成海报
点赞 0

学聚思

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

stm32添加.c和.h文件问题

防止自己忘记stm32相关问题的解决方法,在这里写下记录 在工程的group中添加.c和.h文件 具体添加方法,这里已经写的很清楚 https://blog.csdn.net/dang_dang_/article/d

STM32 printf重定向(串口输出)

一、前言 什么是重定向?重定向是指将fputc里面的输出指向目标设备。因printf函数调用了fputc,而fputc输出有默认指向的目标,且不同库中的fputc输出指向不同,所以需要重写fputc

stm32f103rct6串口接收字符控制LED闪烁

最近在学单片机的串口,首先从串口发送接收开始吧,串口发送比较简单,下面讲讲串口接收字符串的情况。 单片机型号用的是 stm32f103rct6,IDE版本是keil 5。本代码是操作寄存器