ST7789V初始化代码

 void initi(void)
{  
    // VCI=2.8V
//************* Reset LCD Driver ****************//
res=1;
   delay(10);
   res=0;
   delay(100);
   res=1;
   delay(500);
write_command(0x11);
delay(120); //Delay 120ms
//--------------------------------Display and color format setting-------------------

write_command(0x36);
write_data(0x00);
write_command(0x3a);
write_data(0x05);
//--------------------------------ST7789S Frame rate setting-------------------------

write_command(0xb2);
write_data(0x0c);
write_data(0x0c);
write_data(0x00);
write_data(0x33);
write_data(0x33);
write_command(0xb7);
write_data(0x35);
//---------------------------------ST7789S Power setting-----------------------------

write_command(0xbb);
write_data(0x35);
write_command(0xc0);
write_data(0x2c);
write_command(0xc2);
write_data(0x01);
write_command(0xc3);
write_data(0x13);
write_command(0xc4);
write_data(0x20);
write_command(0xc6);
write_data(0x0f);
write_command(0xca);
write_data(0x0f);
write_command(0xc8);
write_data(0x08);
write_command(0x55);
write_data(0x90);
write_command(0xd0);
write_data(0xa4);
write_data(0xa1);
//--------------------------------ST7789S gamma setting------------------------------
write_command(0xe0);
write_data(0xd0);
write_data(0x00);
write_data(0x06);
write_data(0x09);
write_data(0x0b);
write_data(0x2a);
write_data(0x3c);
write_data(0x55);
write_data(0x4b);
write_data(0x08);
write_data(0x16);
write_data(0x14);
write_data(0x19);
write_data(0x20);
write_command(0xe1);
write_data(0xd0);
write_data(0x00);
write_data(0x06);
write_data(0x09);
write_data(0x0b);
write_data(0x29);
write_data(0x36);
write_data(0x54);
write_data(0x4b);
write_data(0x0d);
write_data(0x16);
write_data(0x14);
write_data(0x21);
write_data(0x20);
write_command(0x29);
}




参考写命令/参数函数
//////////////////////////////////

void write_command(byte cmd)
{
    cs=0;
    rs=0;
    rd=1;
    if(h_or_lflag==0)
        {    
            DBH=0x00;
            DBL=cmd;
        }
    else
        {
            DBH=cmd;
            DBL=0x00;
        }
    rw=0;
    rw=1;
    cs=1;
    rs=1;
}



void write_data(byte dat)
{
    cs=0;
    rs=1;
    rd=1;
       if(h_or_lflag==0)
        {    
            DBH=0x00;
            DBL=dat;
        }
    else
        {
            DBH=dat;
            DBL=0x00;
        }
    rw=0;
    rw=1;
    cs=1;
}
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一段ST7789V初始化驱动代码,基于STM32F4xx系列MCU的HAL库编写: ```c #include "stm32f4xx_hal.h" #define ST7789V_WIDTH 240 #define ST7789V_HEIGHT 320 #define ST7789V_RST_PIN GPIO_PIN_0 #define ST7789V_RST_PORT GPIOA #define ST7789V_DC_PIN GPIO_PIN_1 #define ST7789V_DC_PORT GPIOA #define ST7789V_CS_PIN GPIO_PIN_2 #define ST7789V_CS_PORT GPIOA #define ST7789V_CMD 0 #define ST7789V_DATA 1 static SPI_HandleTypeDef hspi; void ST7789V_WriteCommand(uint8_t cmd) { HAL_GPIO_WritePin(ST7789V_DC_PORT, ST7789V_DC_PIN, ST7789V_CMD); HAL_GPIO_WritePin(ST7789V_CS_PORT, ST7789V_CS_PIN, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi, &cmd, 1, 100); HAL_GPIO_WritePin(ST7789V_CS_PORT, ST7789V_CS_PIN, GPIO_PIN_SET); } void ST7789V_WriteData(uint8_t* data, uint32_t size) { HAL_GPIO_WritePin(ST7789V_DC_PORT, ST7789V_DC_PIN, ST7789V_DATA); HAL_GPIO_WritePin(ST7789V_CS_PORT, ST7789V_CS_PIN, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi, data, size, 100); HAL_GPIO_WritePin(ST7789V_CS_PORT, ST7789V_CS_PIN, GPIO_PIN_SET); } void ST7789V_Reset(void) { HAL_GPIO_WritePin(ST7789V_RST_PORT, ST7789V_RST_PIN, GPIO_PIN_RESET); HAL_Delay(100); HAL_GPIO_WritePin(ST7789V_RST_PORT, ST7789V_RST_PIN, GPIO_PIN_SET); HAL_Delay(100); } void ST7789V_Init(void) { ST7789V_Reset(); ST7789V_WriteCommand(0x11); // Sleep Out HAL_Delay(120); ST7789V_WriteCommand(0x36); // Memory Data Access Control uint8_t data = 0x00; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0x3A); // Interface Pixel Format data = 0x55; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0xB2); // Porch Setting uint8_t pdata[4] = {0x0C, 0x0C, 0x00, 0x33}; ST7789V_WriteData(pdata, 4); ST7789V_WriteCommand(0xB7); // Gate Control data = 0x35; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0xBB); // VCOM Setting data = 0x19; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0xC0); // LCM Control data = 0x2C; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0xC2); // VDV and VRH Command Enable pdata[0] = 0x01; pdata[1] = 0xFF; pdata[2] = 0xFF; ST7789V_WriteData(pdata, 3); ST7789V_WriteCommand(0xC3); // VRH Set data = 0x11; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0xC4); // VDV Set pdata[0] = 0x20; pdata[1] = 0x00; ST7789V_WriteData(pdata, 2); ST7789V_WriteCommand(0xC6); // Frame Rate Control data = 0x0F; ST7789V_WriteData(&data, 1); ST7789V_WriteCommand(0xD0); // Power Control 1 pdata[0] = 0xA4; pdata[1] = 0xA1; ST7789V_WriteData(pdata, 2); ST7789V_WriteCommand(0xE0); // Positive Gamma Correction pdata[0] = 0xD0; pdata[1] = 0x08; pdata[2] = 0x11; pdata[3] = 0x08; pdata[4] = 0x0C; pdata[5] = 0x15; pdata[6] = 0x39; pdata[7] = 0x33; pdata[8] = 0x50; pdata[9] = 0x36; pdata[10] = 0x13; pdata[11] = 0x14; ST7789V_WriteData(pdata, 12); ST7789V_WriteCommand(0xE1); // Negative Gamma Correction pdata[0] = 0xD0; pdata[1] = 0x08; pdata[2] = 0x10; pdata[3] = 0x08; pdata[4] = 0x06; pdata[5] = 0x06; pdata[6] = 0x39; pdata[7] = 0x44; pdata[8] = 0x51; pdata[9] = 0x0B; pdata[10] = 0x16; pdata[11] = 0x14; ST7789V_WriteData(pdata, 12); ST7789V_WriteCommand(0x29); // Display On } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值