TFT_eSPI ST7735 не заводится на esp32c3 Arduino 3.2.0

у меня есть только LUATOS ESP32C3 все мои дисплеи на этой библиотеке работают, 7735 не исключение

В чем проблема задать стандартные?

Вы же сами сказали

Вы уж определитесь. И да, софтовый на то и софтовый, что работает на тех пинах, которые ему указали

если в инициализации этот пин указан, то значение пина возьмёт из CORE и инициализирует софтовый SPI,
да глянь ты библиотеку адафрута. там же все прописано

Задавал стандартные, результат один и тот же, бутлуп, если не трогать другие настройки.

Видимо для начала надо разобраться что же за плата у вас всё же

Установил версию esp32 2.0.12 ничего не менял в библиотеки и дисплей запустился! Плату вибираю LOLIN C3 mini

Настройки TFT_eSPI
#define USER_SETUP_INFO "User_Setup"

#define ST7735_DRIVER
//#define ST7735_INITB
//#define USE_HSPI_PORT
#define TFT_RGB_ORDER TFT_RGB
 
#define TFT_WIDTH  128
#define TFT_HEIGHT 160
 
//#define TFT_INVERSION_ON
 
#define TFT_MOSI 4
#define TFT_SCLK 2
#define TFT_CS   5
#define TFT_DC   1
#define TFT_RST  0
 
#define SMOOTH_FONT
 
#define SPI_FREQUENCY  27000000
#define SPI_READ_FREQUENCY  20000000
#define SPI_TOUCH_FREQUENCY  2500000

Мда, а какая конкретно у вас плата, так и осталось загадкой. Видать, секрет большой )))

да нахрен вы теперь нужны, со своими вопросами дуратскими))

2 лайка

Как было написано в самом первом сообщении плата у меня esp32c3 super mini

мы же не можем не верить!

А вот это - Lolin esp32c3 mini

Совсем одно и то же ))

1 лайк

Получилось победить данную связку. В интернете несколько картинок с распиновкой ESP32C3 Super mini. Эта верная


В библиотеке TFT_eSPI/Processors/TFT_eSPI_ESP32_C3.h для версии Arduino esp32 2.0.15 и выше, необходимо внести следующие правки:
Это

#ifndef REG_SPI_BASE
    #define REG_SPI_BASE(i) DR_REG_SPI2_BASE
  #endif

Заменить на это

#ifdef REG_SPI_BASE		//?// ESP32-C3 + ESP32-C6 + ESP32-H2
    #undef REG_SPI_BASE
  #endif

  #define REG_SPI_BASE(i) (((i)==2) ? (DR_REG_SPI2_BASE) : (DR_REG_SPI0_BASE - ((i) * 0x1000))) // GPSPI2 and GPSPI3 

И этот кусок кода

#define SPI_PORT SPI2_HOST

На этот

#if ESP_ARDUINO_VERSION_MAJOR < 3
  #define SPI_PORT SPI2_HOST
#else
  #define SPI_PORT 2
#endif
Настройки User_Setup
#define USER_SETUP_INFO "User_Setup"

#define ST7735_DRIVER
//#define ST7735_INITB
//#define ST7735_BLACKTAB
//#define USE_HSPI_PORT
//#define TFT_SDA_READ
#define TFT_RGB_ORDER TFT_RGB
 
#define TFT_WIDTH  128
#define TFT_HEIGHT 160
 
//#define TFT_INVERSION_ON
 
//#define TFT_MOSI 4
//#define TFT_SCLK 2
//#define TFT_CS   5
//#define TFT_DC   1
//#define TFT_RST  0
 
#define TFT_CS     7
#define TFT_MOSI   6
#define TFT_SCLK   4
#define TFT_MISO   5
#define TFT_DC    2
#define TFT_RST   3 
 
#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

// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded
// this will save ~20kbytes of FLASH
#define SMOOTH_FONT
 
#define SPI_FREQUENCY  27000000
#define SPI_READ_FREQUENCY  20000000
#define SPI_TOUCH_FREQUENCY  2500000

Выбор платы значения не имеет, пробовал Nologo esp32c3 super mini, Lolin C3 mini, ESP32C3 Dev Module со всеми заводится и работает с данными настройками.

Что-то Бодмер свою библиотеку подзабросил, дисплеи не добавляет, баги не исправляет

как минимум светодиод встроенный не совпадёт по распиновке

#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

static const uint8_t LED_BUILTIN = 7;
#define BUILTIN_LED LED_BUILTIN  // backward compatibility
#define LED_BUILTIN LED_BUILTIN  // allow testing #ifdef LED_BUILTIN

static const uint8_t TX = 21;
static const uint8_t RX = 20;

static const uint8_t SDA = 8;
static const uint8_t SCL = 10;

static const uint8_t SS = 5;
static const uint8_t MOSI = 4;
static const uint8_t MISO = 3;
static const uint8_t SCK = 2;

static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;

#endif /* Pins_Arduino_h */