Перейти к содержимому
Display Engineer
Драйвер · Sitronix

ST7789V: даташит, распиновка и код инициализации

ST7789V — однокристальный TFT-драйвер со встроенной GRAM для дисплеев до 240×320, широко используемый в IPS-модулях 1,3″–2,4″ с управлением по 4-проводному SPI.

DEDisplay Engineer Applications Team · Инженеры по применению дисплеевПроверено инженером 11 окт. 2026 г.
ПроизводительSitronix
ТипДрайвер дисплея
ИнтерфейсыSPI / MCU (параллельный 8080) / RGB (параллельный)
Макс. разрешение240×320

Что такое 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

Редко на малых модулях; видеоподобное обновление

Частые проблемы при запуске

  1. Белый или чёрный экран: проверьте тайминг сброса и наличие паузы 120 мс после SLPOUT перед DISPON.
  2. Неправильные цвета: переключите INVON/INVOFF и бит BGR в MADCTL.
  3. Смещение изображения: задайте правильное начало столбца/строки для панелей 240×240 и 135×240.
  4. Разрывы изображения: используйте вывод TE, если он выведен на модуле.

Пошаговый чек-лист — в нашем руководстве по устранению белого экрана TFT.

Код инициализации ST7789V

ST7789V minimal init (SPI, RGB565)c
// 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_lcdesp_lcd_new_panel_st7789() (built in)
ПримечаниеМногим панелям ST7789 нужна инверсия цветов.
Скачать шаблоны конфигурации ST7789V

User_Setup_ST7789V.h · LGFX_ST7789V.hpp. Выводы предварительные; мы напишем, когда добавим проверенные конфигурации.

Отладочные платы с ST7789V

Дисплейные модули с ST7789V

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.

Не знаете, какой дисплей подойдёт вашему проекту?

Пришлите размер, интерфейс и хост-процессор. Инженер по дисплеям в течение 12 часов ответит с 2–3 вариантами, даташитами и кодом инициализации. Образцы от 1 шт.