0.96inch IPS ST7789 Module - LCD wiki
可以参考这个链接
这一步要求下载软件库,可以在platformio中查找
我们暂时借用别人的库做依赖,回头做自己的项目的时候可以再做适当的调整,可以只保留其中的某些文件,想要删除依赖的项目(依赖多个项目时,有可能两个项目里面的部分文件重名会冲突)可以在platformio.ini中把《lib_deps = 》后面的内容删除掉并保存就可以
先看一下TFT_eSPI的readme
esp32s3支持4线的SPI,ok
支持ST7789,ok
添加了新的gui效果,需要下载TFT_eWidget
这个小tips挺重要
在User_Setups定义了一些关于引脚定义等信息,但是这些setup都还没有启用
找到这个User_Setup_Select.h的文件
仔细阅读注释
用户有两种选择,一种是使用#include <User_Setup.h>,也就是默认的启动文件,但是作者推荐了另一种自定义的文件也就是User_Setups文件夹中的那些.h,更有针对性,刚开始使用的话还是可以先复制一版#include <User_Setup.h>来测试
我在User_Setup中定义一个SetupX_ESP32_ST7789.h的头文件,并把User_Setup.h的代码复制进来
先选择驱动
选择屏幕的长宽
定义引脚
定义用到的字体,这里我选择了用作者默认的
设置spi的频率,这里也是选择了默认
ok,设置就基本完成了
通常建议SPI_FREQUENCY为27MHz,SPI_READ_FREQUENCY为20MHz,太高了芯片处理有压力,有可能出现闪频等问题。
我们随便开一个example测试一下
比如这个,先把代码复制到main.cpp中,编译发现
报了一个缺少头文件的错误
作者写widget的库在《https://github.com/Bodmer/TFT_eWidget》
需要去下载,当然也可以在platformio的Libraries中去下载
加载到自己的项目中
我们就有两个依赖库了
如果出现编译的文件找不到,但是ctrl+鼠标左键还能找到定义的时候,把函数复制到void setup()上面再试一下
又出现两个报错,触摸的成员在tft这个类中不存在
这个问题是<User_Setup.h>中没有配置触摸屏,可能导致touce_calibrate() 函数未定义,因为买的这个屏幕也不是触摸屏所以会出现这个报错。
所以干脆直接把关于触摸的全部都给注释掉。
这两行也注释掉。
编译就能通过了。
然后烧录看看效果。
跟期望一样显示出来了。
其他的demo也跟这个流程差不多,无非就是多调用少调用几个库的区别。