ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 августа
1538146 Топик полностью
POV (Вчера, 16:17, просмотров: 71) ответил Звepoящep на Подсветку на питание посадил 3.3, SPI - 1МГц
у меня 100Мгц - всё работает. 
int tft_Init(uint8_t x)
{
spi_num = x;
delay_ms(25);
tft_lcd_rst(false);
delay_ms(50);
tft_lcd_rst(true);
delay_ms(130);
tft_lcd_cs(false);
delay_ms(5);
tft_lcd_send_cmd(ST7789_SWRESET);
delay_ms(130);
tft_lcd_send8(ST7789_COLMOD, ST7789_COLOR_MODE_16bit); // Set color mode
delay_ms(10);

tft_lcd_send_cmd(0xB2); // Porch control
{
const uint8_t data[] = {0x0C, 0x0C, 0x00, 0x33, 0x33};
tft_lcd_send_data((uint8_t*)data, sizeof(data));
}

// Internal LCD Voltage generator settings
tft_lcd_send8(0XB7, 0x35); // Gate Control, Default value
tft_lcd_send8(0xBB, 0x20); // VCOM setting, 0.725v (default 0.75v for 0x20)
tft_lcd_send8(0xC0, 0x2c); // LCMCTRL, Default value
tft_lcd_send8(0xC2, 0x01); // VDV and VRH command Enable, Default value
tft_lcd_send8(0xC3, 0x0b); // VRH set, +-4.45v (defalut +-4.1v for 0x0B)
tft_lcd_send8(0xC4, 0x20); // VDV set, Default value
tft_lcd_send8(0xC6, 0x0f); // Frame rate control in normal mode, Default value (60HZ)
tft_lcd_send16(0xD0, 0xA4A1); // Power control, Default value
tft_lcd_send_cmd(0xE0);
{
const uint8_t data[] = {0xD0, 0x04, 0x0D, 0x11, 0x13, 0x2B, 0x3F, 0x54, 0x4C, 0x18, 0x0D, 0x0B, 0x1F, 0x23};
tft_lcd_send_data((uint8_t*)data, sizeof(data));
}
tft_lcd_send_cmd(0xE1);
{
const uint8_t data[] = {0xD0, 0x04, 0x0C, 0x11, 0x13, 0x2C, 0x3F, 0x44, 0x51, 0x2F, 0x1F, 0x1F, 0x20, 0x23};
tft_lcd_send_data((uint8_t*)data, sizeof(data));
}
//tft_lcd_send_cmd(ST7789_INVON); // Inversion ON
tft_lcd_send_cmd(ST7789_SLPOUT); // Out of sleep mode
tft_lcd_send_cmd(ST7789_NORON); // Normal Display on
tft_lcd_send_cmd(ST7789_DISPON); // Main screen turned on
// Включение TE (Tearing Effect Line)
tft_lcd_send_cmd(0x35);
tft_lcd_send_data8(0);

// Настройка вертикальных porch параметров
tft_lcd_send_cmd(0xB2);
tft_lcd_send_data8(0x0C); // VFP = 12
tft_lcd_send_data8(0x0C); // VBP = 12
tft_lcd_send_data8(0x00); // VSA = 0

delay_ms(50);
tft_lcd_cs(true);

return SUCCESS;
}