Что такое ST7789V?
ST7789V — драйвер истоков и затворов TFT LCD от Sitronix со встроенной кадровой памятью (GRAM). Поскольку изображение хранится в драйвере, микроконтроллер передаёт только изменённые пиксели и не нуждается в собственном кадровом буфере. Поэтому модули ST7789V популярны на платах ESP32, STM32, RP2040 и класса Arduino.
Какой интерфейс использовать?
Интерфейс | Выводы | Типичное применение |
|---|---|---|
4-wire SPI | 4–5 | Большинство модулей; простая проводка, до ~60 МГц |
Параллельный 8080 (MCU) | 12–20 | Более быстрое полноэкранное обновление на MCU с FSMC/FMC |
RGB | 18–24 | Редко на малых модулях; видеоподобное обновление |
Частые проблемы при запуске
- Белый или чёрный экран: проверьте тайминг сброса и наличие паузы 120 мс после SLPOUT перед DISPON.
- Неправильные цвета: переключите INVON/INVOFF и бит BGR в MADCTL.
- Смещение изображения: задайте правильное начало столбца/строки для панелей 240×240 и 135×240.
- Разрывы изображения: используйте вывод TE, если он выведен на модуле.
Пошаговый чек-лист — в нашем руководстве по устранению белого экрана TFT.
Код инициализации ST7789V
// Reference init sequence. Adjust MADCTL, inversion and offsets per panel.
write_cmd(0x01); // SWRESET
delay_ms(150);
write_cmd(0x11); // SLPOUT
delay_ms(120);
write_cmd(0x3A); write_data(0x55); // COLMOD: 16-bit RGB565
write_cmd(0x36); write_data(0x00); // MADCTL: rotation / RGB order
write_cmd(0x21); // INVON: most IPS panels need inversion
write_cmd(0x13); // NORON
write_cmd(0x29); // DISPON
delay_ms(20);Поддержка ST7789V в библиотеках
| Библиотека | Драйвер / класс | Примечания |
|---|---|---|
| TFT_eSPI (Arduino) | ST7789_DRIVER | |
| LovyanGFX (Arduino / ESP-IDF) | lgfx::Panel_ST7789 | |
| ESP-IDF esp_lcd | esp_lcd_new_panel_st7789() (built in) | |
| Примечание | Многим панелям ST7789 нужна инверсия цветов. |
User_Setup_ST7789V.h · LGFX_ST7789V.hpp. Выводы предварительные; мы напишем, когда добавим проверенные конфигурации.
Отладочные платы с ST7789V
Дисплейные модули с ST7789V

TFT LCD 2,8" 240×320, SPI (PJ2801H22-23H10P200)
- Размер
- 2.8"
- Разрешение
- 240×320
- Яркость
- 200 нит

TFT LCD 2,4" 240×320, SPI (PJ2401I24-22H30P250)
- Размер
- 2.4"
- Разрешение
- 240×320
- Яркость
- 250 нит

TFT LCD 2,4" 240×320, MCU (PJ2401I02-22H38P300)
- Размер
- 2.4"
- Разрешение
- 240×320
- Яркость
- 300 нит

IPS TFT LCD 2,4" 240×320, SPI / MCU / RGB (PJ2401H28-22H45P200)
- Размер
- 2.4"
- Разрешение
- 240×320
- Яркость
- 200 нит

IPS TFT LCD 2,4" 240×320, SPI / MCU / RGB (PJ2401H25-22H45P200)
- Размер
- 2.4"
- Разрешение
- 240×320
- Яркость
- 200 нит

TFT LCD 2" 240×320, SPI / MCU (PJ2003L02-22H22P300)
- Размер
- 2"
- Разрешение
- 240×320
- Яркость
- 300 нит
ST7789V: устранение неисправностей и FAQ
Почему на дисплее ST7789 инвертированы цвета?
Большинству IPS-панелей с ST7789V нужна включённая инверсия дисплея (команда 0x21, INVON). Если цвета похожи на негатив, переключите инверсию; если перепутаны красный и синий, измените бит RGB/BGR в MADCTL (0x36).
Какую частоту SPI выдерживает ST7789V?
Многие модули надёжно работают на SPI 40–62,5 МГц при короткой проводке. Начните с 20 МГц, убедитесь в правильности изображения, затем повышайте частоту, следя за искажениями.
Почему изображение 240×240 сдвинуто на 80 пикселей?
Кадровая память ST7789V — 240×320. На панелях 240×240 при некоторых поворотах нужен сдвиг строки или столбца (часто 80) в CASET/RASET; большинство библиотек дают это как настройку rowstart/colstart.