ST7735 TFT screen cannot readpixel

Guo Wenqi
Posts: 1
Joined: Mon Sep 04, 2023 8:05 am

ST7735 TFT screen cannot readpixel

Postby Guo Wenqi » Mon Sep 04, 2023 8:14 am

Hi,everyone. The problem is that when I try to upload the following code to my esp32-wroom-32, the 1.8 inch TFT screen doesn't seem to read the pixel and always return 0 instead. It's using ST7735 drive.
The library is TFT_espi.


The code:
#include <TFT_eSPI.h>
#include <SPI.h>

#define TDELAY 500

TFT_eSPI tft = TFT_eSPI();

void setup() {
Serial.begin(115200);

tft.init();
tft.fillScreen(0xF81F);
}

void loop() {
static uint32_t wr = 1;
static uint32_t rd = 0xFFFFFFFF;

delay(TDELAY);

tft.drawPixel(30,30,wr);
Serial.print(" Pixel value written = ");Serial.println(wr,HEX);

rd = tft.readPixel(30,30);
Serial.print(" Pixel value read = ");Serial.println(rd,HEX);

if (rd!=wr) {
Serial.println(" ERROR ^^^^");
while(1) yield();
}
else Serial.println(" PASS ");
}


And the User_setup.h:
#define USER_SETUP_INFO "User_Setup"
#define ST7735_DRIVER
#define TFT_SDA_READ
#define TFT_WIDTH 128
#define TFT_HEIGHT 160
#define ST7735_GREENTAB2
#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on.
#define TFT_SCLK 14
#define TFT_CS 5 // Chip select control pin
#define TFT_DC 27 // Data Command control pin
#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin)
#define TFT_BL 22 // LED back-light
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
#define SMOOTH_FONT
#define SPI_FREQUENCY 27000000
#define SPI_READ_FREQUENCY 20000000
#define SPI_TOUCH_FREQUENCY 2500000


I really appreciate your help.

Who is online

Users browsing this forum: No registered users and 121 guests