Top.Mail.Ru
Уведомления
Очистить все

Шумы на экране с драйвером ST7735

(@fon_syslik)
New member

Всем доброго времени суток
Подключаю дисплей с драйвером ST7735 к stm32. После инициализации с Adafruit дисплей не реагировал ни на что, у него оставалась ток подсветка, поэтому упростила ее до вида:

RST_0();
delay(10);
RST_1();
delay(10);
CS_1();
delay(5);
CS_0();
delay(1);
ST7789_WriteCommand(ST7735_SWRESET);
delay(125);
ST7789_WriteCommand (ST7735_SLPOUT);
delay(125);
ST7789_WriteCommand(ST7735_COLMOD); 
ST7789_WriteSmallData(0x55);
ST7789_WriteCommand(ST7735_ MADCTL); 
ST7789_WriteSmallData(0x00);    
ST7789_WriteCommand(0x21);
ST7789_WriteCommand (ST7789_DISPON); 
delay(10);
CS_1();

После такой инициализации на экранчике появляются шумы и я могу включать и выключать экран, что наводит на мысли, что spi настроен правильно(настраивала строго по даташиту(CPHA=1, CPOL=1). Где-то увидела, что нужно после аппаратного сброса дергать cheap select, иначе драйвер не реагирует. В общем, перепробовала всякое, но уперлась лбом в стенку.... Сейчас хочу просто залить экран цветом, но не могу это сделать. Вижу только шумы. Хотя устанавливаю адрес заливки, а потом и саму заливку по пикселям

uint16_t x_start = 0, x_end = SIZE_X;
uint16_t y_start = 0, y_end = SIZE_Y;

ST7789_WriteCommand(ST7789_CASET);
uint8_t data[] = {x_start >> 8, x_start & 0xFF, x_end >> 8, x_end & 0xFF};
ST7789_WriteData(data, 4);

ST7789_WriteCommand(ST7789_RASET);
uint8_t data[] = {y_start >> 8, y_start & 0xFF, y_end >> 8, y_end & 0xFF};
ST7789_WriteData(data, 4);

ST7789_WriteCommand(ST7789_RAMWR);

for (uint16_t i = x_start; i < x_end; i++)
		for (uint16_t j = y_start; j < y_end; j++) {
			uint8_t data[] = {color >> 8, color & 0xFF};
			ST7789_WriteData(data, sizeof(data));
		}

В общем, уже не знаю, в какую сторону можно думать. Первый раз работаю с такими вот экранчиками. Вот этот пример смотрела здесь и еще с других источников. Не видела, чтобы сталкивались с такой проблемой. У меня возникает ощущение, что я упускаю какую-то маленькую и важную деталь. 

Цитата
Создатель темы Размещено : 31.08.2025 03:38
Метки темы
(@eduard)
Level 5 Moderator

Если шумы появились, значит дисплей на команды реагирует.

А где полная инициализация дисплея?

Просто так он не заработает. В статье, на которую ссылаетесь, это всё описано.

Если при полной инициализации дальше шума дело не идёт, может не хватать питания.

ОтветитьЦитата
Размещено : 31.08.2025 21:16
Поделиться: