|
本帖最后由 topdog 于 2022-5-20 23:02 编辑
TFT_eSPI库升级到2.4.61版本可以完美的支持的合宙ESP32C3操作ST7735s屏幕。合宙ESP32C3和ST7735管脚配置图参见前期文章。
一、修改\Arduino\libraries\TFT_eSPI文件夹下的User_Setup.h配置
[pre]#define ST7735_DRIVER
#define TFT_WIDTH 80
#define TFT_HEIGHT 160
#define ST7735_REDTAB160x80
#define TFT_RGB_ORDER TFT_BGR
#define TFT_MISO -1
#define TFT_MOSI 3
#define TFT_SCLK 2
#define TFT_CS 7
#define TFT_DC 6
#define TFT_RST 10
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF
#define SMOOTH_FONT
#define SPI_FREQUENCY 27000000[/pre]
二:刷入示例程序:
观察一下色彩、横竖屏、屏幕定位和默认的字体大小。
[pre]#include <SPI.h>
#include <TFT_eSPI.h>
TFT_eSPI tft = TFT_eSPI( );
void setup(void) {
tft.init();
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
delay(100);
}
void loop() {
tft.invertDisplay( false );
tft.fillScreen(TFT_BLACK);
tft.setCursor(0, 0, 1);
tft.setTextColor(TFT_WHITE, TFT_BLACK);
tft.println("Invert OFF\n");
tft.println("White text");
tft.setTextColor(TFT_RED, TFT_BLACK);
tft.println("Red text");
tft.setTextColor(TFT_GREEN, TFT_BLACK);
tft.println("Green text");
tft.setTextColor(TFT_BLUE, TFT_BLACK);
tft.println("Blue text");
delay(5000);
tft.invertDisplay( true ); // Where i is true or false
tft.fillScreen(TFT_BLACK);
tft.setCursor(0, 0, 2);
tft.setTextColor(TFT_WHITE, TFT_BLACK);
tft.println("Invert ON\n");
tft.println("White text");
tft.setTextColor(TFT_RED, TFT_BLACK);
tft.println("Red text");
tft.setTextColor(TFT_GREEN, TFT_BLACK);
tft.println("Green text");
delay(5000);
}[/pre]
最终效果:
|
|