Ⅰ. 前言
买了块1.8寸的tft液晶屏,之前一直用 Adafruit_ST7735
和 Adafruit_GFX
库驱动,使用还挺简单的,但是有些功能使用起来还是不太方便,也不太通用,换成 Tft_eSPI
库驱动,遇到了不少问题,记录下。
Ⅱ. 接线
ST7735的1.8寸的tft屏幕接线按照1.4寸的来就好了。
图片来源:1.44inch SPI Arduino Module Black SKU:MAR1442
图片来源:1.8inch Arduino SPI Module ST7735S SKU:MAR1801
1.8寸的屏幕接口是没有 SDI
和 LED
两个接口的,但是问题不大,SDI
换成了 SDA
LED
换成了 NC
然后所有的 NC
接口都不需要接。
Ⅲ. Tft_eSPI配置
打开 User_Setup.h
文件
路径如图所示。
更改配置文件第一步
*// Section 1. Call up the right driver file and any options for it*
这里选择屏幕的驱动,其它的注释掉即可。
对于 *ST7789, ST7735, ILI9163 and GC9A01*
来说还要设置宽和高。
如果你的是1.4寸的屏幕,就是 128 × 128
对于 *ST7735*
来说,还要设置所谓的 tc , tc is tab
更改配置文件第二步
*Section 2. Define the pins that are used to interface with the display here*
把现有的那部分注释去掉,随便找个地方定义下自己的引脚就好了。
第三步.第四步保持默认, 需要时再修改就可以
第三步是配置字库, 都带着就行
第四步是 配置SPI的频率 / 配置用VSPI(默认)还是HSPI /
Ⅳ. 测试代码
#include <Arduino.h>
#include <ArduinoJson.h>
#include <TFT_eSPI.h>
void setup(void) {
TFT_eSPI tft = TFT_eSPI();
TFT_eSprite clk = TFT_eSprite(&tft);
tft.init(ST7735_BLACK);
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
tft.fillRect(tft.width() / 2, tft.height() / 2, 50, 50, TFT_RED);
}
void loop() {}
如果编译上传成功,屏幕上显示一个充满红色的正方形,恭喜,可以用了。(其余地方都是黑色的)
至于 Tft_eSPI
具体用法百度就好了。
版权声明:本文为CSDN博主「aW5jaXBl」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43826212/article/details/117745347
暂无评论