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

学聚思

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

暂无评论

发表评论

相关推荐

Arduino零基础实践——1

一:资源层 1.1硬件:Arduino各种开发板,我常用的是Nano,因为比较小而且便宜,某宝上20-30块。还有Arduino的拓展板卡,就是在后面连接外设

STM32+W5500以太网模块

一:w5500以太网模块介绍: W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方 案。W5500 集成了 TCP/IP 协议栈,10/

无刷直流(BLDC)电机的原理及正确的使用方法

当工程师想利用电气、电子的机器在现实世界中做些什么时,他们会思考怎样才能将电信号变为“力”?将电信号转换为力的就是传动器,即电机。可以将电机视作“将电气转换为机械的力的元件”。 最基本的电机是 “DC电机(有刷电机)”。在磁场中放置线