本人在使用官方DEMO的时候发现屏幕只会发白光,如下图:
之后尝试了许多方法都不可行,最后找了客服,客服给我发了一份文件,我发现文件内有个ST7796_Init,该文件的内容与TFT_Espi库内的并不相同,所以我就把库内的内容改了(注释的为官方文件,之后就是我改的)
ST7796_Init:
/*
#define TFT_INIT_DELAY 0
{
delay(120);
writecommand(0x01); //Software reset
delay(120);
writecommand(0x11); //Sleep exit
delay(120);
writecommand(0xF0); //Command Set control
writedata(0xC3); //Enable extension command 2 partI
writecommand(0xF0); //Command Set control
writedata(0x96); //Enable extension command 2 partII
writecommand(0x36); //Memory Data Access Control MX, MY, RGB mode
writedata(0x48); //X-Mirror, Top-Left to right-Buttom, RGB
writecommand(0x3A); //Interface Pixel Format
writedata(0x55); //Control interface color format set to 16
writecommand(0xB4); //Column inversion
writedata(0x01); //1-dot inversion
writecommand(0xB6); //Display Function Control
writedata(0x80); //Bypass
writedata(0x02); //Source Output Scan from S1 to S960, Gate Output scan from G1 to G480, scan cycle=2
writedata(0x3B); //LCD Drive Line=8*(59+1)
writecommand(0xE8); //Display Output Ctrl Adjust
writedata(0x40);
writedata(0x8A);
writedata(0x00);
writedata(0x00);
writedata(0x29); //Source eqaulizing period time= 22.5 us
writedata(0x19); //Timing for "Gate start"=25 (Tclk)
writedata(0xA5); //Timing for "Gate End"=37 (Tclk), Gate driver EQ function ON
writedata(0x33);
writecommand(0xC1); //Power control2
writedata(0x06); //VAP(GVDD)=3.85+( vcom+vcom offset), VAN(GVCL)=-3.85+( vcom+vcom offset)
writecommand(0xC2); //Power control 3
writedata(0xA7); //Source driving current level=low, Gamma driving current level=High
writecommand(0xC5); //VCOM Control
writedata(0x18); //VCOM=0.9
delay(120);
//ST7796 Gamma Sequence
writecommand(0xE0); //Gamma"+"
writedata(0xF0);
writedata(0x09);
writedata(0x0b);
writedata(0x06);
writedata(0x04);
writedata(0x15);
writedata(0x2F);
writedata(0x54);
writedata(0x42);
writedata(0x3C);
writedata(0x17);
writedata(0x14);
writedata(0x18);
writedata(0x1B);
writecommand(0xE1); //Gamma"-"
writedata(0xE0);
writedata(0x09);
writedata(0x0B);
writedata(0x06);
writedata(0x04);
writedata(0x03);
writedata(0x2B);
writedata(0x43);
writedata(0x42);
writedata(0x3B);
writedata(0x16);
writedata(0x14);
writedata(0x17);
writedata(0x1B);
delay(120);
writecommand(0xF0); //Command Set control
writedata(0x3C); //Disable extension command 2 partI
writecommand(0xF0); //Command Set control
writedata(0x69); //Disable extension command 2 partII
end_tft_write();
delay(120);
begin_tft_write();
writecommand(0x29); //Display on
}
*/
#define TFT_INIT_DELAY 0
{
delay(120);
writecommand(0xF0);
writedata(0xC3);
writecommand(0xF0);
writedata(0x96);
writecommand(0x36);
writedata(0x48);
writecommand(0x3A);
writedata(0x05);
writecommand(0xB0);
writedata(0x80);
writecommand(0xB6);
writedata(0x00);
writedata(0x02);
writecommand(0xB5);
writedata(0x02);
writedata(0x03);
writedata(0x00);
writedata(0x04);
writecommand(0xB1);
writedata(0x80);
writedata(0x10);
writecommand(0xB4);
writedata(0x00);
writecommand(0xB7);
writedata(0xC6);
writecommand(0xC5);
writedata(0x1C);
writecommand(0xE4);
writedata(0x31);
writecommand(0xE8);
writedata(0x40);
writedata(0x8A);
writedata(0x00);
writedata(0x00);
writedata(0x29);
writedata(0x19);
writedata(0xA5);
writedata(0x33);
writecommand(0xC2);
writecommand(0xA7);
writecommand(0xE0);
writedata(0xF0);
writedata(0x09);
writedata(0x13);
writedata(0x12);
writedata(0x12);
writedata(0x2B);
writedata(0x3C);
writedata(0x44);
writedata(0x4B);
writedata(0x1B);
writedata(0x18);
writedata(0x17);
writedata(0x1D);
writedata(0x21);
writecommand(0XE1);
writedata(0xF0);
writedata(0x09);
writedata(0x13);
writedata(0x0C);
writedata(0x0D);
writedata(0x27);
writedata(0x3B);
writedata(0x44);
writedata(0x4D);
writedata(0x0B);
writedata(0x17);
writedata(0x17);
writedata(0x1D);
writedata(0x21);
writecommand(0xF0);
writedata(0x3C);
writecommand(0xF0);
writedata(0x69);
writecommand(0X13);
writecommand(0X11);
end_tft_write();
delay(120);
begin_tft_write();
writecommand(0X29);
}
但是改后还是亮不了,所以之后我找了开发板的原理图,我怀疑是接线的错误,所以依据引脚图更改了接线
#define TFT_BL 21 // LED back-light control pin
#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW)
#define TFT_MISO 12
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin
#define TFT_RST 4 // Reset pin (could connect to RST pin)
怕有朋友看不懂,我补上Stepup的所有内容
// USER DEFINED