Страница 1 из 1

Желтит TFT дисплей ST7789V 8/16бит.

Добавлено: Пн мар 03, 2025 00:54:42
andryhin
Доброго времени, уважаемые радиокоты!

Имеется дисплей TFT на контроллере ST7789V 8/16бит параллельный интерфейс.
Задействован 8битный режим (перемычкой).

Проблема в отображении цветов. А точнее, все цвета заменены оттенками жёлтого.

Дисплей подключал к STM32 с библиотекой - Adafruit_ILI9341_8bit_STM.
Да, контроллер другой, но в целом они схожи. Сверялся с даташитами.

Позже, нашлась библиотека MCUFRIEND_kbv-master под ардуинку, и ST7789.
Переключился на неё, но всё та-же беда.

Картинка вписывается в размер, переворот изображения корректный, текст отображается, фигуры рисуются, но вот цвет...

Согласно даташиту, свободные пины данных посадил на минус.
С питанием всё норм.

Подредактировал скетч (TFT_RGB_Screen_ST7789_MCUFRIEND_kbv), заливка цвета на экран с названием цвета заливки.
За delay, заранее извиняюсь.
Чтоб более объективно видно было. Инверсией цвета здесь и не "пахло".
Файлы прилагаю.

Помогите разобраться - это неисправность (брак) дисплея, или "косяк" в библиотеках?
В программировании не силён. Кое что могу подправить.... Потихоньку учусь.
Для 8080-I крайне мало библиотек. Для SPI навалом.
Фотки, библиотеки, и свой скетч прикладываю.

Re: Желтит TFT дисплей ST7789V 8/16бит.

Добавлено: Пн мар 10, 2025 18:17:33
smagluk
порядок цветов нужен правильный, RGB на GBR поменяй.

Re: Желтит TFT дисплей ST7789V 8/16бит.

Добавлено: Вт мар 25, 2025 14:33:19
andryhin
smagluk,

Если не трудно, подскажите где поправить?

Re: Желтит TFT дисплей ST7789V 8/16бит.

Добавлено: Вт мар 25, 2025 22:14:58
Just_Fluffy
andryhin, регистр MADCTL, четвертый бит (0х08)

Но сдается мне, что желтый цвет не от порядка бит, а от кривой инициализации, которая может встроенную палитру "корректировать".
Либо кривая конверсия цвета в 565-формат. Хотя белый - 0xFFFF - должен корректно уйти в дисплей....

Re: Желтит TFT дисплей ST7789V 8/16бит.

Добавлено: Пт мар 28, 2025 20:10:29
andryhin
Вопрос решён.
В 16битном режиме(перемычка перепаивается), пины дисплея должны использоваться DB 16-8.
Порядок идёт именно с старших битов.