1、代码很简单就是对LCD内部寄存器的一些初始化配置。
2、lcd_st7789s.h
//作者:金丝草
extern Lcd_Write_Cmd(u8*,u32);
extern Lcd_Write_Data(u8*,u32);
void LCD_ST7789S_REG_Init(void)//lcd屏内部寄存器配置,不能修改
{
u8 lcd_buf[32]; //以下代码最大使用缓存31字节
//--------------------------------ST7789S Sleep out-------------------------------------------//
lcd_buf[0]=0x11;
Lcd_Write_Cmd(lcd_buf,1);
delay_ms(120);//Delay 120ms
//--------------------------------ST7789S Frame rate setting----------------------------------//
lcd_buf[]={0xb2,0x0c,0x0c,0x00,0x33,0x33,0xb7,0x35};
Lcd_Write_Cmd(lcd_buf,8);
//---------------------------------ST7789S Power setting--------------------------------------//
lcd_buf[]={0xbb,0x35,0xc3,0x0b,0xc4,0x20,0xc6,0x0f,0xd0,0xa4,0xa2};
Lcd_Write_Cmd(lcd_buf,11);
//--------------------------------ST7789S Interface Pixel Format------------------------------//
lcd_buf[0]=0x36;
Lcd_Write_Cmd(lcd_buf,1); // Memory Access Control
lcd_buf[0]=0xA0;
Lcd_Write_Data(lcd_buf,1); //左右横着刷240
//Lcd_Write_Data(0x20); //右左横240
lcd_buf[0]=0x3A;
Lcd_Write_Cmd(lcd_buf,1); //16bit像素
lcd_buf[0]=0x55;
Lcd_Write_Data(lcd_buf,1);
//---------------------------------ST7789S gamma setting--------------------------------------//
lcd_buf[]={0xe0,0xd0,0x00,0x02,0x07,0x0b,0x1a,0x31,0x54,0x40,0x29,
0x12,0x12,0x12,0x17,0xe1,0xd0,0x00,0x02,0x07,0x05,0x25,
0x2d,0x44,0x45,0x1c,0x18,0x16,0x1c,0x1d,0x29};
Lcd_Write_Cmd(lcd_buf,31);
}