Имеется дисплей 1.77" на контроллере ST7735(S), esp32c3 super mini. Дисплей подключен следующим образом:
Дисплей esp32c3
GND ↔ GND
VCC ↔ 3v3
SCL ↔ 2
SDA ↔ 4
RES ↔ 0
DC ↔ 1
CS ↔ 5
Установлена последняя версия Arduino IDE 2.3.6, фреймворк ESP32 3.2.0, TFT_eSPI 2.5.43. Выбираю плату LOLIN C3 mini. Создал отдельный файл для настроек со следующими параметрами
Настройки TFT_eSPI
#define ST7735_BLACKTAB
#define ST7735_DRIVER // define additional parameters below for this display
#define TFT_RGB_ORDER TFT_RGB // color order Red-Green-Blue
//#define USE_HSPI_PORT
// this is for the ESP32 C3 Super Mini board as in project 141
// #define TFT_MISO 19
#define TFT_MOSI 4
#define TFT_SCLK 2
#define TFT_CS 5 // Chip Select control pin
#define TFT_DC 1 // Data Command control pin
#define TFT_RST 0 // Reset pin (could connect to RST pin)
// fonts
#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 1000000
// #define SPI_FREQUENCY 5000000
// #define SPI_FREQUENCY 10000000
// #define SPI_FREQUENCY 20000000
#define SPI_FREQUENCY 27000000
// #define SPI_FREQUENCY 40000000
// #define SPI_FREQUENCY 55000000 // STM32 SPI1 only (SPI2 maximum is 27MHz)
// #define SPI_FREQUENCY 80000000
// Optional reduced SPI frequency for reading TFT
#define SPI_READ_FREQUENCY 20000000```
Код программы
// include the graphics library (this includes the sprite functions)
TFT_eSPI tft = TFT_eSPI(); // create object "tft"
void setup(){
Serial.begin(115200);
tft.init();
tft.setRotation(0);
tft.fillScreen (TFT_BLACK);
}
void loop(){
}```
Получаю следующую ошибку
Спойлер
19:41:24.495 -> 3fc9a280: 0xf2283591 0xd321f36c 0x7559945a 0xec2ddd7e 0x54519c17 0xa4cde40a 0x0f95ced8 0x239bd65e
19:41:24.495 -> 3fc9a2a0: 0xb5bdb3d8 0x76bb3105 0xef9f5cca 0xbf9e517b 0x232b13b0 0x60519f06 0x8461d920 0x19804067
19:41:24.495 -> 3fc9a2c0: 0x74ef6ba3 0xa8642c93 0x73fddf97 0x8d9c36ff 0x26cc7d16 0x3896cdc1 0xa100099c 0x3541b21a
19:41:24.495 -> 3fc9a2e0: 0xebf746f7 0x929a6d7d 0x2e70dfba 0x32f0c39c 0x3e9df948 0xaa015040 0x6aa19644 0x200aad44
19:41:24.495 -> 3fc9a300: 0xc41d45e7 0x7029ba9f 0xcefbc794 0xfb75d337 0x3a1f1836 0x60bd1079 0xa0cd2353 0xedb8c0a3
19:41:24.495 -> 3fc9a320: 0x8763806f 0x79c3dbc5 0x73128e3b 0xb53f2027 0x3fc9812c 0x00000170 0xabba1234 0x0000015c
19:41:24.495 -> 3fc9a340: 0x3fc99fd0 0x00000000 0x3fc95e30 0x3fc8fdf4 0x3fc9a340 0x3fc8fdec 0x00000018 0x00000000
19:41:24.495 -> 3fc9a360: 0x00000000 0x3fc9a340 0x00000000 0x00000001 0x3fc9813c 0x706f6f6c 0x6b736154 0x00000000
19:41:24.495 -> 3fc9a380: 0x00000000 0x3fc9a130 0x00000005 0x00000000 0x00000001 0x00000002 0x00000000 0x00000000
19:41:24.495 -> 3fc9a3a0: 0x00000000 0x00000000 0x3fc918f8 0x3fc91960 0x3fc919c8 0x00000000 0x00000000 0x00000001
19:41:24.495 -> 3fc9a3c0: 0x00000000 0x00000000 0x00000000 0x4201070e 0x00000000 0x00000000 0x00000000 0x00000000
19:41:24.495 -> 3fc9a3e0: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
19:41:24.495 -> 3fc9a400: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
19:41:24.495 -> 3fc9a420: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
19:41:24.495 -> 3fc9a440: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
19:41:24.495 -> 3fc9a460: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
19:41:24.495 -> 3fc9a480: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0xbaad5678
Но стоит добавить #define USE_HSPI_PORT, ошибок нету, но и дисплей не реагирует никак. Поставил библиотеку Adafruit ST7735, указал теже настройки подключения дисплея и он завелся сразу! Значит подключение верное, а проблемма гдето в настройках TFT_eSPI, кучу всего перепробовал, ничего не помогает