#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
// ST7735 显示屏引脚定义(适配 Wokwi 仿真)
#define TFT_CS 5
#define TFT_RST 4
#define TFT_DC 2
#define TFT_SDA 7
#define TFT_SCL 6
// 初始化 ST7735 显示屏对象(1.8寸 128x160 屏幕)
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST, TFT_SDA, TFT_SCL);
void setup() {
Serial.begin(115200);
// 显示屏初始化
tft.initR(INITR_BLACKTAB); // 适配黑色面板的 ST7735
tft.setRotation(1); // 屏幕旋转180度可设为3,0为默认方向
tft.fillScreen(ST7735_BLACK); // 清屏为黑色
// 绘制测试内容
drawTestUI();
}
void loop() {
// 实时更新串口波特率信息
tft.setCursor(0, 90);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
tft.print("Baud: ");
tft.println(Serial.baudRate());
delay(1000);
tft.fillRect(0, 90, 128, 10, ST7735_BLACK); // 清除本行旧内容
}
// 绘制测试界面:图形、文字、线条
void drawTestUI() {
// 绘制彩色矩形
tft.drawRect(5, 5, 118, 35, ST7735_RED);
tft.fillRect(10, 10, 108, 25, ST7735_BLUE);
// 显示标题
tft.setCursor(15, 15);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.print("ESP32-C3");
// 绘制十字线
tft.drawLine(0, 50, 127, 50, ST7735_GREEN);
tft.drawLine(64, 50, 64, 159, ST7735_GREEN);
// 显示说明文字
tft.setCursor(0, 60);
tft.setTextColor(ST7735_YELLOW);
tft.setTextSize(1);
tft.println("ST7735 Display");
tft.println("No U8g2 Library");
tft.println("Wokwi Simulation");
}