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 flash读写函数说明

写flash函数如下: STMFLASH_Write(FLASH_SAVE1_ADDR,(u16*)TEXT1_Buffer,SIZE1); 第一个入参:要写入的目标地址 第二个入参:数据所在的原

【毕设】自定义的串口通信协议_1

自定义一主多从串口通讯_1 这是一个类似开发日志的小记录,这篇主要是记录自己在毕设里自定义的一种基于串口通讯的通讯协议,至于为什么没有使用modbus只是因为我没有用过。 硬件基础 我的毕设大体上需要通讯的主要