STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341

时间:2024-04-10 21:07:28

STemWin移植

移植STemWin一直有问题,也没有可以解决,问了不少人,也看了很多文章,终于解决了。
我用的SPI接口的,传输数据也是8字节传输,就有所不同

我是用STM32CUBEMX生成的代码
别的没什么好说的,只有一个要使能CRC
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
1、获取ST文件
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
从STM32CUBEMX找到路径,根据下图,找到文件

STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
将这些文件拷贝到自己的项目文件中,如
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
2、添加文件
将文件添加到项目中,如
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
记得要将.a文件使能成库文件,操作如下
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341

STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
之后是添加头文件,这个应该都会的吧。

3、更改代码
首先要将自己的LCD文件更改名字,避免出错
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
然后将LCD改名,我这里改的是TFTLCD
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
还要讲初始化函数也改名

将GUIConf.c中
这个为分配内存大小,如果太大可能是导致GUI_Init()卡死
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
分配内存
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
接下来要更改的是LCDConf_FlexColor_Template.c
由于我使用的SPI接口的液晶屏
所以要将U16 Data 改为 U8
并添加自己的写寄存器函数和写数据函数
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
最重要的来了!!!
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
接着
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
在GUIDRV_Template.c文件中添加自己的画点函数
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
最后
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
添加完毕之后,
STM32F103VET移植STemWIN SPI接口LCD液晶屏 ILI9341
这样就可以正常显示了。
有什么说的不清楚的,说的不对的,请赐教,相互学习
谢谢