Ejemplo n.º 1
0
/*********************************************************************
*
*       LCD_X_Config
*
* Function description:
*   Called during the initialization process in order to set up the
*   display driver configuration.
*
*/
void LCD_X_Config(void)
{
  GUI_DEVICE *pDevice;
  CONFIG_FLEXCOLOR Config = {0};
  GUI_PORT_API PortAPI = {0};
  //
  // Set display driver and color conversion
  //
  pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0);
  //
  // Display driver configuration, required for Lin-driver
  //
  LCD_SetSizeEx(0, XSIZE_PHYS , YSIZE_PHYS);
  LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
  //
  // Orientation
  //
  if (spfd5408_drv.ReadID() == SPFD5408_ID)
  {
    Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;
  }
  else
  {
    Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y | GUI_MIRROR_X;
  }


  GUIDRV_FlexColor_Config(pDevice, &Config);
  //
  // Set controller and operation mode
  //
  PortAPI.pfWrite16_A0  = LcdWriteReg;
  PortAPI.pfWrite16_A1  = LcdWriteData;
  PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
  PortAPI.pfReadM16_A1  = LcdReadDataMultiple;

  // Find the current LCD and initialize GUIDRV
  LCD_IO_Init();

  if (spfd5408_drv.ReadID() == SPFD5408_ID)
  {
    GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16);
  }
  else
  {
    GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66712, GUIDRV_FLEXCOLOR_M16C0B16);
  }
}
Ejemplo n.º 2
0
uint8_t u8g_com_stm32duino_fsmc_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) {
  if (msgInitCount) {
    if (msg == U8G_COM_MSG_INIT) msgInitCount--;
    if (msgInitCount) return -1;
  }

  static uint8_t isCommand;

  switch (msg) {
    case U8G_COM_MSG_STOP:
      break;
    case U8G_COM_MSG_INIT:
      u8g_SetPIOutput(u8g, U8G_PI_RESET);

      LCD_IO_Init(u8g->pin_list[U8G_PI_CS], u8g->pin_list[U8G_PI_A0]);
      u8g_Delay(100);

      if (arg_ptr != NULL)
        *((uint32_t *)arg_ptr) = LCD_IO_ReadData(LCD_READ_ID, 3);

      isCommand = 0;
      break;

    case U8G_COM_MSG_ADDRESS:           // define cmd (arg_val = 0) or data mode (arg_val = 1)
      isCommand = arg_val == 0 ? 1 : 0;
      break;

    case U8G_COM_MSG_RESET:
      u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val);
      break;

    case U8G_COM_MSG_WRITE_BYTE:
      if (isCommand)
        LCD_IO_WriteReg(arg_val);
      else
        LCD_IO_WriteData((uint16_t)arg_val);
      break;

    case U8G_COM_MSG_WRITE_SEQ:

      for (uint8_t i = 0; i < arg_val; i += 2)
        LCD_IO_WriteData(*(uint16_t *)(((uint32_t)arg_ptr) + i));
      break;
  }
  return 1;
}
Ejemplo n.º 3
0
/**
  * @brief  Get the ILI9325 ID.
  * @param  None
  * @retval The ILI9325 ID 
  */
uint16_t ili9325_ReadID(void)
{
  LCD_IO_Init(); 
  return (ili9325_ReadReg(0x00));
}
Ejemplo n.º 4
0
/**
  * @brief  Initialize the ILI9325 LCD Component.
  * @param  None
  * @retval None
  */
void ili9325_Init(void)
{  
  /* Initialize ILI9325 low level bus layer ----------------------------------*/
  LCD_IO_Init();
  
  /* Start Initial Sequence --------------------------------------------------*/
  ili9325_WriteReg(LCD_REG_0, 0x0001); /* Start internal OSC. */
  ili9325_WriteReg(LCD_REG_1, 0x0100); /* Set SS and SM bit */
  ili9325_WriteReg(LCD_REG_2, 0x0700); /* Set 1 line inversion */
  ili9325_WriteReg(LCD_REG_3, 0x1018); /* Set GRAM write direction and BGR=1. */
  ili9325_WriteReg(LCD_REG_4, 0x0000); /* Resize register */
  ili9325_WriteReg(LCD_REG_8, 0x0202); /* Set the back porch and front porch */
  ili9325_WriteReg(LCD_REG_9, 0x0000); /* Set non-display area refresh cycle ISC[3:0] */
  ili9325_WriteReg(LCD_REG_10, 0x0000); /* FMARK function */
  ili9325_WriteReg(LCD_REG_12, 0x0000); /* RGB interface setting */
  ili9325_WriteReg(LCD_REG_13, 0x0000); /* Frame marker Position */
  ili9325_WriteReg(LCD_REG_15, 0x0000); /* RGB interface polarity */
  
  /* Power On sequence -------------------------------------------------------*/
  ili9325_WriteReg(LCD_REG_16, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
  ili9325_WriteReg(LCD_REG_17, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */
  ili9325_WriteReg(LCD_REG_18, 0x0000); /* VREG1OUT voltage */
  ili9325_WriteReg(LCD_REG_19, 0x0000); /* VDV[4:0] for VCOM amplitude */
  
  ili9325_WriteReg(LCD_REG_16, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
  ili9325_WriteReg(LCD_REG_17, 0x0137); /* DC1[2:0], DC0[2:0], VC[2:0] */
  
  ili9325_WriteReg(LCD_REG_18, 0x0139); /* VREG1OUT voltage */
  
  ili9325_WriteReg(LCD_REG_19, 0x1d00); /* VDV[4:0] for VCOM amplitude */
  ili9325_WriteReg(LCD_REG_41, 0x0013); /* VCM[4:0] for VCOMH */
  
  ili9325_WriteReg(LCD_REG_32, 0x0000); /* GRAM horizontal Address */
  ili9325_WriteReg(LCD_REG_33, 0x0000); /* GRAM Vertical Address */
  
  /* Adjust the Gamma Curve (ILI9325) ----------------------------------------*/
  ili9325_WriteReg(LCD_REG_48, 0x0007);
  ili9325_WriteReg(LCD_REG_49, 0x0302);
  ili9325_WriteReg(LCD_REG_50, 0x0105);
  ili9325_WriteReg(LCD_REG_53, 0x0206);
  ili9325_WriteReg(LCD_REG_54, 0x0808);
  ili9325_WriteReg(LCD_REG_55, 0x0206);
  ili9325_WriteReg(LCD_REG_56, 0x0504);
  ili9325_WriteReg(LCD_REG_57, 0x0007);
  ili9325_WriteReg(LCD_REG_60, 0x0105);
  ili9325_WriteReg(LCD_REG_61, 0x0808);
  
  /* Set GRAM area -----------------------------------------------------------*/
  ili9325_WriteReg(LCD_REG_80, 0x0000); /* Horizontal GRAM Start Address */
  ili9325_WriteReg(LCD_REG_81, 0x00EF); /* Horizontal GRAM End Address */
  ili9325_WriteReg(LCD_REG_82, 0x0000); /* Vertical GRAM Start Address */
  ili9325_WriteReg(LCD_REG_83, 0x013F); /* Vertical GRAM End Address */
  
  ili9325_WriteReg(LCD_REG_96,  0xA700); /* Gate Scan Line(GS=1, scan direction is G320~G1) */
  ili9325_WriteReg(LCD_REG_97,  0x0001); /* NDL,VLE, REV */
  ili9325_WriteReg(LCD_REG_106, 0x0000); /* set scrolling line */
  
  /* Partial Display Control -------------------------------------------------*/
  ili9325_WriteReg(LCD_REG_128, 0x0000);
  ili9325_WriteReg(LCD_REG_129, 0x0000);
  ili9325_WriteReg(LCD_REG_130, 0x0000);
  ili9325_WriteReg(LCD_REG_131, 0x0000);
  ili9325_WriteReg(LCD_REG_132, 0x0000);
  ili9325_WriteReg(LCD_REG_133, 0x0000);
  
  /* Panel Control -----------------------------------------------------------*/
  ili9325_WriteReg(LCD_REG_144, 0x0010);
  ili9325_WriteReg(LCD_REG_146, 0x0000);
  ili9325_WriteReg(LCD_REG_147, 0x0003);
  ili9325_WriteReg(LCD_REG_149, 0x0110);
  ili9325_WriteReg(LCD_REG_151, 0x0000);
  ili9325_WriteReg(LCD_REG_152, 0x0000);
  
  /* set GRAM write direction and BGR = 1 */
  /* I/D=00 (Horizontal : increment, Vertical : decrement) */
  /* AM=1 (address is updated in vertical writing direction) */
  ili9325_WriteReg(LCD_REG_3, 0x1018);
  
  /* 262K color and display ON */ 
  ili9325_WriteReg(LCD_REG_7, 0x0173);    
  
  /* Set the Cursor */ 
  ili9325_SetCursor(0, 0);
  
  /* Prepare to write GRAM */
  LCD_IO_WriteReg(LCD_REG_34);
}
Ejemplo n.º 5
0
/**
  * @brief  Get the SPFD5408 ID.
  * @param  None
  * @retval The SPFD5408 ID 
  */
uint16_t spfd5408_ReadID(void)
{
  LCD_IO_Init();
  
  return (spfd5408_ReadReg(0x00));
}
Ejemplo n.º 6
0
/**
  * @brief  Initialise the SPFD5408 LCD Component.
  * @param  None
  * @retval None
  */
void spfd5408_Init(void)
{  
  if(Is_spfd5408_Initialized == 0)
  {
    Is_spfd5408_Initialized = 1;
    /* Initialise SPFD5408 low level bus layer --------------------------------*/
    LCD_IO_Init();
   
    /* Start Initial Sequence --------------------------------------------------*/
    spfd5408_WriteReg(LCD_REG_227, 0x3008); /* Set internal timing */
    spfd5408_WriteReg(LCD_REG_231, 0x0012); /* Set internal timing */
    spfd5408_WriteReg(LCD_REG_239, 0x1231); /* Set internal timing */
    spfd5408_WriteReg(LCD_REG_1, 0x0100);   /* Set SS and SM bit */
    spfd5408_WriteReg(LCD_REG_2, 0x0700);   /* Set 1 line inversion */
    spfd5408_WriteReg(LCD_REG_3, 0x1030);   /* Set GRAM write direction and BGR=1. */
    spfd5408_WriteReg(LCD_REG_4, 0x0000);   /* Resize register */
    spfd5408_WriteReg(LCD_REG_8, 0x0202);   /* Set the back porch and front porch */
    spfd5408_WriteReg(LCD_REG_9, 0x0000);   /* Set non-display area refresh cycle ISC[3:0] */
    spfd5408_WriteReg(LCD_REG_10, 0x0000);  /* FMARK function */
    spfd5408_WriteReg(LCD_REG_12, 0x0000);  /* RGB interface setting */
    spfd5408_WriteReg(LCD_REG_13, 0x0000);  /* Frame marker Position */
    spfd5408_WriteReg(LCD_REG_15, 0x0000);  /* RGB interface polarity */
    /* Power On sequence -------------------------------------------------------*/
    spfd5408_WriteReg(LCD_REG_16, 0x0000);  /* SAP, BT[3:0], AP, DSTB, SLP, STB */
    spfd5408_WriteReg(LCD_REG_17, 0x0000);  /* DC1[2:0], DC0[2:0], VC[2:0] */
    spfd5408_WriteReg(LCD_REG_18, 0x0000);  /* VREG1OUT voltage */
    spfd5408_WriteReg(LCD_REG_19, 0x0000);  /* VDV[4:0] for VCOM amplitude */
    LCD_Delay(200);                /* Dis-charge capacitor power voltage (200ms) */  
    spfd5408_WriteReg(LCD_REG_17, 0x0007);  /* DC1[2:0], DC0[2:0], VC[2:0] */
    LCD_Delay(50);                 /* Delay 50 ms */
    spfd5408_WriteReg(LCD_REG_16, 0x12B0);  /* SAP, BT[3:0], AP, DSTB, SLP, STB */
    LCD_Delay(50);                  /* Delay 50 ms */
    spfd5408_WriteReg(LCD_REG_18, 0x01BD);  /* External reference voltage= Vci */
    LCD_Delay(50);                 /* Delay 50 ms */ 
    spfd5408_WriteReg(LCD_REG_19, 0x1400);       /* VDV[4:0] for VCOM amplitude */
    spfd5408_WriteReg(LCD_REG_41, 0x000E);  /* VCM[4:0] for VCOMH */
    LCD_Delay(50);                 /* Delay 50 ms */
    spfd5408_WriteReg(LCD_REG_32, 0x0000);  /* GRAM horizontal Address */
    spfd5408_WriteReg(LCD_REG_33, 0x013F);  /* GRAM Vertical Address */
    /* Adjust the Gamma Curve --------------------------------------------------*/
    spfd5408_WriteReg(LCD_REG_48, 0x0007);
    spfd5408_WriteReg(LCD_REG_49, 0x0302);
    spfd5408_WriteReg(LCD_REG_50, 0x0105);
    spfd5408_WriteReg(LCD_REG_53, 0x0206);
    spfd5408_WriteReg(LCD_REG_54, 0x0808);
    spfd5408_WriteReg(LCD_REG_55, 0x0206);
    spfd5408_WriteReg(LCD_REG_56, 0x0504);
    spfd5408_WriteReg(LCD_REG_57, 0x0007);
    spfd5408_WriteReg(LCD_REG_60, 0x0105);
    spfd5408_WriteReg(LCD_REG_61, 0x0808);
    /* Set GRAM area -----------------------------------------------------------*/
    spfd5408_WriteReg(LCD_REG_80, 0x0000);  /* Horizontal GRAM Start Address */
    spfd5408_WriteReg(LCD_REG_81, 0x00EF);  /* Horizontal GRAM End Address */
    spfd5408_WriteReg(LCD_REG_82, 0x0000);  /* Vertical GRAM Start Address */
    spfd5408_WriteReg(LCD_REG_83, 0x013F);  /* Vertical GRAM End Address */
    spfd5408_WriteReg(LCD_REG_96,  0xA700); /* Gate Scan Line */
    spfd5408_WriteReg(LCD_REG_97,  0x0001); /* NDL,VLE, REV */
    spfd5408_WriteReg(LCD_REG_106, 0x0000); /* Set scrolling line */
    /* Partial Display Control -------------------------------------------------*/
    spfd5408_WriteReg(LCD_REG_128, 0x0000);
    spfd5408_WriteReg(LCD_REG_129, 0x0000);
    spfd5408_WriteReg(LCD_REG_130, 0x0000);
    spfd5408_WriteReg(LCD_REG_131, 0x0000);
    spfd5408_WriteReg(LCD_REG_132, 0x0000);
    spfd5408_WriteReg(LCD_REG_133, 0x0000);
    /* Panel Control -----------------------------------------------------------*/
    spfd5408_WriteReg(LCD_REG_144, 0x0010);
    spfd5408_WriteReg(LCD_REG_146, 0x0000);
    spfd5408_WriteReg(LCD_REG_147, 0x0003);
    spfd5408_WriteReg(LCD_REG_149, 0x0110);
    spfd5408_WriteReg(LCD_REG_151, 0x0000);
    spfd5408_WriteReg(LCD_REG_152, 0x0000);
    /* Set GRAM write direction and BGR = 1
       I/D=01 (Horizontal : increment, Vertical : decrement)
       AM=1 (address is updated in vertical writing direction) */
    spfd5408_WriteReg(LCD_REG_3, 0x1018);
    spfd5408_WriteReg(LCD_REG_7, 0x0112);   /* 262K color and display ON */
  }

  /* Set the Cursor */ 
  spfd5408_SetCursor(0, 0);
    
  /* Prepare to write GRAM */
  LCD_IO_WriteReg(LCD_REG_34);
}
Ejemplo n.º 7
0
/**
  * @brief  Initialize the ST7735 LCD Component.
  * @param  None
  * @retval None
  */
void st7735_Init(void)
{    
  uint8_t data = 0;
  
  /* Initialize ST7735 low level bus layer -----------------------------------*/
  LCD_IO_Init();
  /* Out of sleep mode, 0 args, no delay */
  st7735_WriteReg(LCD_REG_17, 0x00); 
  /* Frame rate ctrl - normal mode, 3 args:Rate = fosc/(1x2+40) * (LINE+2C+2D)*/
  LCD_IO_WriteReg(LCD_REG_177);
  data = 0x01;
  LCD_IO_WriteMultipleData(&data, 1);
  data = 0x2C;
  LCD_IO_WriteMultipleData(&data, 1);
  data = 0x2D;
  LCD_IO_WriteMultipleData(&data, 1);
  /* Frame rate control - idle mode, 3 args:Rate = fosc/(1x2+40) * (LINE+2C+2D) */    
  st7735_WriteReg(LCD_REG_178, 0x01);
  st7735_WriteReg(LCD_REG_178, 0x2C);
  st7735_WriteReg(LCD_REG_178, 0x2D);
  /* Frame rate ctrl - partial mode, 6 args: Dot inversion mode, Line inversion mode */ 
  st7735_WriteReg(LCD_REG_179, 0x01);
  st7735_WriteReg(LCD_REG_179, 0x2C);
  st7735_WriteReg(LCD_REG_179, 0x2D);
  st7735_WriteReg(LCD_REG_179, 0x01);
  st7735_WriteReg(LCD_REG_179, 0x2C);
  st7735_WriteReg(LCD_REG_179, 0x2D);
  /* Display inversion ctrl, 1 arg, no delay: No inversion */
  st7735_WriteReg(LCD_REG_180, 0x07);
  /* Power control, 3 args, no delay: -4.6V , AUTO mode */
  st7735_WriteReg(LCD_REG_192, 0xA2);
  st7735_WriteReg(LCD_REG_192, 0x02);
  st7735_WriteReg(LCD_REG_192, 0x84);
  /* Power control, 1 arg, no delay: VGH25 = 2.4C VGSEL = -10 VGH = 3 * AVDD */
  st7735_WriteReg(LCD_REG_193, 0xC5);
  /* Power control, 2 args, no delay: Opamp current small, Boost frequency */ 
  st7735_WriteReg(LCD_REG_194, 0x0A);
  st7735_WriteReg(LCD_REG_194, 0x00);
  /* Power control, 2 args, no delay: BCLK/2, Opamp current small & Medium low */  
  st7735_WriteReg(LCD_REG_195, 0x8A);
  st7735_WriteReg(LCD_REG_195, 0x2A);
  /* Power control, 2 args, no delay */
  st7735_WriteReg(LCD_REG_196, 0x8A);
  st7735_WriteReg(LCD_REG_196, 0xEE);
  /* Power control, 1 arg, no delay */
  st7735_WriteReg(LCD_REG_197, 0x0E);
  /* Don't invert display, no args, no delay */
  LCD_IO_WriteReg(LCD_REG_32);
  /* Set color mode, 1 arg, no delay: 16-bit color */
  st7735_WriteReg(LCD_REG_58, 0x05);
  /* Column addr set, 4 args, no delay: XSTART = 0, XEND = 127 */
  LCD_IO_WriteReg(LCD_REG_42);
  data = 0x00;
  LCD_IO_WriteMultipleData(&data, 1);
  LCD_IO_WriteMultipleData(&data, 1);
  LCD_IO_WriteMultipleData(&data, 1);
  data = 0x7F;
  LCD_IO_WriteMultipleData(&data, 1);
  /* Row addr set, 4 args, no delay: YSTART = 0, YEND = 159 */
  LCD_IO_WriteReg(LCD_REG_43);
  data = 0x00;
  LCD_IO_WriteMultipleData(&data, 1);
  LCD_IO_WriteMultipleData(&data, 1);
  LCD_IO_WriteMultipleData(&data, 1);
  data = 0x9F;
  LCD_IO_WriteMultipleData(&data, 1);
  /* Magical unicorn dust, 16 args, no delay */
  st7735_WriteReg(LCD_REG_224, 0x02); 
  st7735_WriteReg(LCD_REG_224, 0x1c);  
  st7735_WriteReg(LCD_REG_224, 0x07); 
  st7735_WriteReg(LCD_REG_224, 0x12);
  st7735_WriteReg(LCD_REG_224, 0x37);  
  st7735_WriteReg(LCD_REG_224, 0x32);  
  st7735_WriteReg(LCD_REG_224, 0x29);  
  st7735_WriteReg(LCD_REG_224, 0x2d);
  st7735_WriteReg(LCD_REG_224, 0x29);  
  st7735_WriteReg(LCD_REG_224, 0x25);  
  st7735_WriteReg(LCD_REG_224, 0x2B);  
  st7735_WriteReg(LCD_REG_224, 0x39);  
  st7735_WriteReg(LCD_REG_224, 0x00);  
  st7735_WriteReg(LCD_REG_224, 0x01);  
  st7735_WriteReg(LCD_REG_224, 0x03);  
  st7735_WriteReg(LCD_REG_224, 0x10);
  /* Sparkles and rainbows, 16 args, no delay */
  st7735_WriteReg(LCD_REG_225, 0x03);
  st7735_WriteReg(LCD_REG_225, 0x1d);  
  st7735_WriteReg(LCD_REG_225, 0x07);  
  st7735_WriteReg(LCD_REG_225, 0x06);
  st7735_WriteReg(LCD_REG_225, 0x2E);  
  st7735_WriteReg(LCD_REG_225, 0x2C);  
  st7735_WriteReg(LCD_REG_225, 0x29);  
  st7735_WriteReg(LCD_REG_225, 0x2D);
  st7735_WriteReg(LCD_REG_225, 0x2E);  
  st7735_WriteReg(LCD_REG_225, 0x2E);  
  st7735_WriteReg(LCD_REG_225, 0x37);  
  st7735_WriteReg(LCD_REG_225, 0x3F);  
  st7735_WriteReg(LCD_REG_225, 0x00);  
  st7735_WriteReg(LCD_REG_225, 0x00);  
  st7735_WriteReg(LCD_REG_225, 0x02);  
  st7735_WriteReg(LCD_REG_225, 0x10);
  /* Normal display on, no args, no delay */
  st7735_WriteReg(LCD_REG_19, 0x00);
  /* Main screen turn on, no delay */
  st7735_WriteReg(LCD_REG_41, 0x00);
  st7735_WriteReg(LCD_REG_54, 0xC0); 
}
Ejemplo n.º 8
0
/**
 * @brief  Power on the LCD.
 * @param  None
 * @retval None
 */
void ili9341_Init(void)
{
	if (Is_ili9341_Initialized == 0)
	{
		Is_ili9341_Initialized = 1;
		/* Initialise ILI9341 low level bus layer --------------------------------*/
		LCD_IO_Init();

		/*Configure LCD*/
		ili9341_WriteReg(0xCA);
		ili9341_WriteData(0xC3);
		ili9341_WriteData(0x08);
		ili9341_WriteData(0x50);
		ili9341_WriteReg(LCD_POWERB);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0xC1);
		ili9341_WriteData(0x30);
		ili9341_WriteReg(LCD_POWER_SEQ);
		ili9341_WriteData(0x64);
		ili9341_WriteData(0x03);
		ili9341_WriteData(0x12);
		ili9341_WriteData(0x81);
		ili9341_WriteReg(LCD_DTCA);
		ili9341_WriteData(0x85);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x78);
		ili9341_WriteReg(LCD_POWERA);
		ili9341_WriteData(0x39);
		ili9341_WriteData(0x2C);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x34);
		ili9341_WriteData(0x02);
		ili9341_WriteReg(LCD_PRC);
		ili9341_WriteData(0x20);
		ili9341_WriteReg(LCD_DTCB);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x00);
		ili9341_WriteReg(LCD_FRMCTR1);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x1B);
		ili9341_WriteReg(LCD_DFC);
		ili9341_WriteData(0x0A);
		ili9341_WriteData(0xA2);
		ili9341_WriteReg(LCD_POWER1);
		ili9341_WriteData(0x10);
		ili9341_WriteReg(LCD_POWER2);
		ili9341_WriteData(0x10);
		ili9341_WriteReg(LCD_VCOM1);
		ili9341_WriteData(0x45);
		ili9341_WriteData(0x15);
		ili9341_WriteReg(LCD_VCOM2);
		ili9341_WriteData(0x90);
		ili9341_WriteReg(LCD_MAC);
		ili9341_WriteData(0xC8);
		ili9341_WriteReg(LCD_3GAMMA_EN);
		ili9341_WriteData(0x00);
		ili9341_WriteReg(LCD_RGB_INTERFACE);
		ili9341_WriteData(0xC2);
		ili9341_WriteReg(LCD_DFC);
		ili9341_WriteData(0x0A);
		ili9341_WriteData(0xA7);
		ili9341_WriteData(0x27);
		ili9341_WriteData(0x04);

		/* colomn address set */
		ili9341_WriteReg(LCD_COLUMN_ADDR);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0xEF);
		/* Page Address Set */
		ili9341_WriteReg(LCD_PAGE_ADDR);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x01);
		ili9341_WriteData(0x3F);
		ili9341_WriteReg(LCD_INTERFACE);
		ili9341_WriteData(0x01);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x06);

		ili9341_WriteReg(LCD_GRAM);
		LCD_Delay(200);

		ili9341_WriteReg(LCD_GAMMA);
		ili9341_WriteData(0x01);

		ili9341_WriteReg(LCD_PGAMMA);
		ili9341_WriteData(0x0F);
		ili9341_WriteData(0x29);
		ili9341_WriteData(0x24);
		ili9341_WriteData(0x0C);
		ili9341_WriteData(0x0E);
		ili9341_WriteData(0x09);
		ili9341_WriteData(0x4E);
		ili9341_WriteData(0x78);
		ili9341_WriteData(0x3C);
		ili9341_WriteData(0x09);
		ili9341_WriteData(0x13);
		ili9341_WriteData(0x05);
		ili9341_WriteData(0x17);
		ili9341_WriteData(0x11);
		ili9341_WriteData(0x00);
		ili9341_WriteReg(LCD_NGAMMA);
		ili9341_WriteData(0x00);
		ili9341_WriteData(0x16);
		ili9341_WriteData(0x1B);
		ili9341_WriteData(0x04);
		ili9341_WriteData(0x11);
		ili9341_WriteData(0x07);
		ili9341_WriteData(0x31);
		ili9341_WriteData(0x33);
		ili9341_WriteData(0x42);
		ili9341_WriteData(0x05);
		ili9341_WriteData(0x0C);
		ili9341_WriteData(0x0A);
		ili9341_WriteData(0x28);
		ili9341_WriteData(0x2F);
		ili9341_WriteData(0x0F);

		ili9341_WriteReg(LCD_SLEEP_OUT);
		LCD_Delay(200);
		ili9341_WriteReg(LCD_DISPLAY_ON);
		/* GRAM start writing */
		ili9341_WriteReg(LCD_GRAM);

	}
}
Ejemplo n.º 9
0
/**
* @brief  Initialise the HX8347D LCD Component.
* @param  None
* @retval None
*/
void hx8347d_Init(void)
{  
  if(Is_hx8347d_Initialized == 0)
  {
    Is_hx8347d_Initialized = 1;
    /* Initialise HX8347D low level bus layer --------------------------------*/
    LCD_IO_Init();
    
    /* Driving ability setting */
    hx8347d_WriteReg(LCD_REG_234, 0x00);
    hx8347d_WriteReg(LCD_REG_235, 0x20);
    hx8347d_WriteReg(LCD_REG_236, 0x0C);
    hx8347d_WriteReg(LCD_REG_237, 0xC4);
    hx8347d_WriteReg(LCD_REG_232, 0x40);
    hx8347d_WriteReg(LCD_REG_233, 0x38);
    hx8347d_WriteReg(LCD_REG_241, 0x01);
    hx8347d_WriteReg(LCD_REG_242, 0x10);
    hx8347d_WriteReg(LCD_REG_39,  0xA3);
    
    /* Adjust the Gamma Curve */
    hx8347d_WriteReg(LCD_REG_64, 0x01);
    hx8347d_WriteReg(LCD_REG_65, 0x00);
    hx8347d_WriteReg(LCD_REG_66, 0x00);
    hx8347d_WriteReg(LCD_REG_67, 0x10);
    hx8347d_WriteReg(LCD_REG_68, 0x0E);
    hx8347d_WriteReg(LCD_REG_69, 0x24);
    hx8347d_WriteReg(LCD_REG_70, 0x04);
    hx8347d_WriteReg(LCD_REG_71, 0x50);
    hx8347d_WriteReg(LCD_REG_72, 0x02);
    hx8347d_WriteReg(LCD_REG_73, 0x13);
    hx8347d_WriteReg(LCD_REG_74, 0x19);
    hx8347d_WriteReg(LCD_REG_75, 0x19);
    hx8347d_WriteReg(LCD_REG_76, 0x16);
    hx8347d_WriteReg(LCD_REG_80, 0x1B);
    hx8347d_WriteReg(LCD_REG_81, 0x31);
    hx8347d_WriteReg(LCD_REG_82, 0x2F);
    hx8347d_WriteReg(LCD_REG_83, 0x3F);
    hx8347d_WriteReg(LCD_REG_84, 0x3F);
    hx8347d_WriteReg(LCD_REG_85, 0x3E);
    hx8347d_WriteReg(LCD_REG_86, 0x2F);
    hx8347d_WriteReg(LCD_REG_87, 0x7B);
    hx8347d_WriteReg(LCD_REG_88, 0x09);
    hx8347d_WriteReg(LCD_REG_89, 0x06);
    hx8347d_WriteReg(LCD_REG_90, 0x06);
    hx8347d_WriteReg(LCD_REG_91, 0x0C);
    hx8347d_WriteReg(LCD_REG_92, 0x1D);
    hx8347d_WriteReg(LCD_REG_93, 0xCC);
    
    /* Power voltage setting */
    hx8347d_WriteReg(LCD_REG_27, 0x1B);
    hx8347d_WriteReg(LCD_REG_26, 0x01);
    hx8347d_WriteReg(LCD_REG_36, 0x2F);
    hx8347d_WriteReg(LCD_REG_37, 0x57);
    /*****VCOM offset ****/
    hx8347d_WriteReg(LCD_REG_35, 0x86);
    
    /* Power on setting up flow */
    hx8347d_WriteReg(LCD_REG_24, 0x36); /* Display frame rate = 70Hz RADJ = '0110' */
    hx8347d_WriteReg(LCD_REG_25, 0x01); /* OSC_EN = 1 */
    hx8347d_WriteReg(LCD_REG_28, 0x06); /* AP[2:0] = 111 */
    hx8347d_WriteReg(LCD_REG_29, 0x06); /* AP[2:0] = 111 */
    hx8347d_WriteReg(LCD_REG_31,0x90); /* GAS=1, VOMG=00, PON=1, DK=0, XDK=0, DVDH_TRI=0, STB=0*/
    hx8347d_WriteReg(LCD_REG_39, 1); /* REF = 1 */
    
    LCD_Delay(10);
    /* 262k/65k color selection */
    hx8347d_WriteReg(LCD_REG_23, 0x05); /* default 0x06 262k color,  0x05 65k color */
    /* SET PANEL */
    hx8347d_WriteReg(LCD_REG_54, 0x09); /* SS_PANEL = 1, GS_PANEL = 0,REV_PANEL = 0, BGR_PANEL = 1 */
    
    /* Display ON flow */
    hx8347d_WriteReg(LCD_REG_40, 0x38); /* GON=1, DTE=1, D=10 */
    LCD_Delay(60);
    hx8347d_WriteReg(LCD_REG_40, 0x3C); /* GON=1, DTE=1, D=11 */
    
    /* Set GRAM Area - Partial Display Control */
    hx8347d_WriteReg(LCD_REG_1, 0x00); /* DP_STB = 0, DP_STB_S = 0, SCROLL = 0, */
    hx8347d_WriteReg(LCD_REG_2, 0x00); /* Column address start 2 */
    hx8347d_WriteReg(LCD_REG_3, 0x00); /* Column address start 1 */
    hx8347d_WriteReg(LCD_REG_4, 0x01); /* Column address end 2 */
    hx8347d_WriteReg(LCD_REG_5, 0x3F); /* Column address end 1 */
    hx8347d_WriteReg(LCD_REG_6, 0x00); /* Row address start 2 */
    hx8347d_WriteReg(LCD_REG_7, 0x00); /* Row address start 2 */
    hx8347d_WriteReg(LCD_REG_8, 0x00); /* Row address end 2 */
    hx8347d_WriteReg(LCD_REG_9, 0xEF); /* Row address end 1 */
    hx8347d_WriteReg(LCD_REG_22, 0xE0); /* Memory access control: MY = 1, MX = 0, MV = 1, ML = 0 */
  }
  /* Set the Cursor */ 
  hx8347d_SetCursor(0, 0);
  
  /* Prepare to write GRAM */
  LCD_IO_WriteReg(LCD_REG_34);
}
Ejemplo n.º 10
0
/**
  * @brief  Disables the Display.
  * @param  None
  * @retval LCD Register Value.
  */
uint16_t st7789v_ReadID(void)
{
  LCD_IO_Init();
  return ((uint16_t)st7789v_ReadData(LCD_READ_ID4, LCD_READ_ID4_SIZE));
}
Ejemplo n.º 11
0
/**
  * @brief  Power on the LCD.
  * @param  None
  * @retval None
  */
void st7789v_Init(void)
{
  /* Initialize st7789v low level bus layer ----------------------------------*/
  LCD_IO_Init();
	HAL_GPIO_WritePin(GPIOA,GPIO_PIN_10,0x01);
	HAL_GPIO_WritePin(GPIOC,GPIO_PIN_6,0x01);
  LCD_RESET_HIGH();
  HAL_Delay(1);              //delay 1ms
  LCD_RESET_LOW();
  HAL_Delay(10);             //delay 10ms
  LCD_RESET_HIGH();
  HAL_Delay(120);
  
  /* Configure LCD */
  st7789v_WriteReg(0x11);
  HAL_Delay(120);
  st7789v_WriteReg(0x36); //Memory Data Access Control
  st7789v_WriteData(0x00); 

  st7789v_WriteReg(0x3a);//Interface Pixel Format
  st7789v_WriteData(0x05);//MCU-16bit  05
 
  st7789v_WriteReg(0x2a);
  st7789v_WriteData(0x00);
  st7789v_WriteData(0x00);
  st7789v_WriteData(0x00);
  st7789v_WriteData(0xef);
  
  st7789v_WriteReg(0x2b);
  st7789v_WriteData(0x00);
  st7789v_WriteData(0x00);
  st7789v_WriteData(0x00);
  st7789v_WriteData(0xef);
  
  /*frame rate setting*/
  st7789v_WriteReg(0xb2);//portch
  st7789v_WriteData(0x0c);//normal BP
  st7789v_WriteData(0x0c);//normal FP
  st7789v_WriteData(0x00);//enable seperate
  st7789v_WriteData(0x33);//idle, BP[7:4], FP[3:0]
  st7789v_WriteData(0x33);//partial, BP[7:4], FP[3:0]
  
  st7789v_WriteReg(0xb7); //gate control
  st7789v_WriteData(0x56);//VGH=14.06v,VGL=-11.38
  /*power setting*/
  st7789v_WriteReg(0xbb); //VCOMS Setting
  st7789v_WriteData(0x1e);
  
  st7789v_WriteReg(0xc0);
  st7789v_WriteData(0x2c);
  
  st7789v_WriteReg(0xc2);
  st7789v_WriteData(0x01);
  
  st7789v_WriteReg(0xc3); //VRH Set
  st7789v_WriteData(0x13); //4.5v
  
  st7789v_WriteReg(0xc4);
  st7789v_WriteData(0x20);
  
  st7789v_WriteReg(0xc6); //frame rate control in normal mode
  st7789v_WriteData(0x0f);
  
  st7789v_WriteReg(0xd0); // power control 1
  st7789v_WriteData(0xa4);//
  st7789v_WriteData(0xa1);//AVDD=6.8v, AVCL=-4.8v, VDS=2.3V
  
  //----GAMMA------------------------------------

  st7789v_WriteReg(0xe0);
  st7789v_WriteData(0xD0);
  st7789v_WriteData(0x03);
  st7789v_WriteData(0x08);
  st7789v_WriteData(0x0E);
  st7789v_WriteData(0x11);
  st7789v_WriteData(0x2B);
  st7789v_WriteData(0x3B);
  st7789v_WriteData(0x44);
  st7789v_WriteData(0x4C);
  st7789v_WriteData(0x2B);
  st7789v_WriteData(0x16);
  st7789v_WriteData(0x15);
  st7789v_WriteData(0x1E);
  st7789v_WriteData(0x21);

  st7789v_WriteReg(0xe1);
  st7789v_WriteData(0xD0);
  st7789v_WriteData(0x03);
  st7789v_WriteData(0x08);
  st7789v_WriteData(0x0E);
  st7789v_WriteData(0x11);
  st7789v_WriteData(0x2B);
  st7789v_WriteData(0x3B);
  st7789v_WriteData(0x54);
  st7789v_WriteData(0x4C);
  st7789v_WriteData(0x2B);
  st7789v_WriteData(0x16);
  st7789v_WriteData(0x15);
  st7789v_WriteData(0x1E);
  st7789v_WriteData(0x21);

  st7789v_WriteReg(0x29);	//Display ON 
  
	
//	g_LCD = st7789v_ReadID();
//	
//	while (1);
}
Ejemplo n.º 12
0
/**
  * @brief  Disables the Display.
  * @param  None
  * @retval LCD Register Value.
  */
uint16_t ili9341_ReadID(void)
{
  LCD_IO_Init();
  return ((uint16_t)ili9341_ReadData(LCD_READ_ID4, LCD_READ_ID4_SIZE));
}
Ejemplo n.º 13
0
/**
  * @brief  Power on the LCD.
  * @param  None
  * @retval None
  */
void ili9341_Init(void)
{
  /* Initialize ILI9341 low level bus layer ----------------------------------*/
  LCD_IO_Init();
  
  /* Configure LCD */
  ili9341_WriteReg(0xCA);
  ili9341_WriteData(0xC3);
  ili9341_WriteData(0x08);
  ili9341_WriteData(0x50);
  ili9341_WriteReg(LCD_POWERB);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0xC1);
  ili9341_WriteData(0x30);
  ili9341_WriteReg(LCD_POWER_SEQ);
  ili9341_WriteData(0x64);
  ili9341_WriteData(0x03);
  ili9341_WriteData(0x12);
  ili9341_WriteData(0x81);
  ili9341_WriteReg(LCD_DTCA);
  ili9341_WriteData(0x85);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x78);
  ili9341_WriteReg(LCD_POWERA);
  ili9341_WriteData(0x39);
  ili9341_WriteData(0x2C);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x34);
  ili9341_WriteData(0x02);
  ili9341_WriteReg(LCD_PRC);
  ili9341_WriteData(0x20);
  ili9341_WriteReg(LCD_DTCB);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteReg(LCD_FRMCTR1);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x1B);
  ili9341_WriteReg(LCD_DFC);
  ili9341_WriteData(0x0A);
  ili9341_WriteData(0xA2);
  ili9341_WriteReg(LCD_POWER1);
  ili9341_WriteData(0x10);
  ili9341_WriteReg(LCD_POWER2);
  ili9341_WriteData(0x10);
  ili9341_WriteReg(LCD_VCOM1);
  ili9341_WriteData(0x45);
  ili9341_WriteData(0x15);
  ili9341_WriteReg(LCD_VCOM2);
  ili9341_WriteData(0x90);
  ili9341_WriteReg(LCD_MAC);
#if 1	// test
  ili9341_WriteData(0x28);
#else
  ili9341_WriteData(0xC8);
#endif
  ili9341_WriteReg(LCD_3GAMMA_EN);
  ili9341_WriteData(0x00);
#ifndef LCD_IF_MCU_ONLY
  ili9341_WriteReg(LCD_RGB_INTERFACE);
  ili9341_WriteData(0xC2);
#endif
  ili9341_WriteReg(LCD_DFC);
  ili9341_WriteData(0x0A);
  ili9341_WriteData(0xA7);
  ili9341_WriteData(0x27);
  ili9341_WriteData(0x04);
 
#if 1	// test
  /* Colomn address set */
  ili9341_WriteReg(LCD_COLUMN_ADDR);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x01);
  ili9341_WriteData(0x3F);
  /* Page address set */
  ili9341_WriteReg(LCD_PAGE_ADDR);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0xEF);
#else
  /* Colomn address set */
  ili9341_WriteReg(LCD_COLUMN_ADDR);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0xEF);
  /* Page address set */
  ili9341_WriteReg(LCD_PAGE_ADDR);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x01);
  ili9341_WriteData(0x3F);
#endif

#ifdef LCD_IF_MCU_ONLY
  ili9341_WriteReg(LCD_INTERFACE);
  ili9341_WriteData(0x01);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
#ifdef LCD_RGB_565
  ili9341_WriteReg(LCD_PIXEL_FORMAT);
  ili9341_WriteData(0x55);
#endif
#else
  ili9341_WriteReg(LCD_INTERFACE);
  ili9341_WriteData(0x01);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x06);
#endif
  
  ili9341_WriteReg(LCD_GRAM);
  LCD_Delay(200);
  
  ili9341_WriteReg(LCD_GAMMA);
  ili9341_WriteData(0x01);
  
  ili9341_WriteReg(LCD_PGAMMA);
  ili9341_WriteData(0x0F);
  ili9341_WriteData(0x29);
  ili9341_WriteData(0x24);
  ili9341_WriteData(0x0C);
  ili9341_WriteData(0x0E);
  ili9341_WriteData(0x09);
  ili9341_WriteData(0x4E);
  ili9341_WriteData(0x78);
  ili9341_WriteData(0x3C);
  ili9341_WriteData(0x09);
  ili9341_WriteData(0x13);
  ili9341_WriteData(0x05);
  ili9341_WriteData(0x17);
  ili9341_WriteData(0x11);
  ili9341_WriteData(0x00);
  ili9341_WriteReg(LCD_NGAMMA);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x16);
  ili9341_WriteData(0x1B);
  ili9341_WriteData(0x04);
  ili9341_WriteData(0x11);
  ili9341_WriteData(0x07);
  ili9341_WriteData(0x31);
  ili9341_WriteData(0x33);
  ili9341_WriteData(0x42);
  ili9341_WriteData(0x05);
  ili9341_WriteData(0x0C);
  ili9341_WriteData(0x0A);
  ili9341_WriteData(0x28);
  ili9341_WriteData(0x2F);
  ili9341_WriteData(0x0F);
  
  ili9341_WriteReg(LCD_SLEEP_OUT);
  LCD_Delay(200);
  ili9341_WriteReg(LCD_DISPLAY_ON);
  /* GRAM start writing */
  ili9341_WriteReg(LCD_GRAM);
}
Ejemplo n.º 14
0
void st7783_Init(void)
{    
//  uint16_t data = 0;
  
//	m_width     = TFTWIDTH;
//	m_height    = TFTHEIGHT;
    m_height    = TFTWIDTH;
		m_width     = TFTHEIGHT;
	
	//m_rotation  = 0;
	m_rotation  = 1;
	m_cursor_y  = m_cursor_x    = 0;
	m_textsize  = 4;
	m_textcolor = m_textbgcolor = 0xFFFF;
	m_wrap      = 1;
  /* Initialize st7783 low level bus layer -----------------------------------*/
  LCD_IO_Init();
	LCD_Reset();
	
//LCD_WriteRegister16(0xff00, 0x8844);            //test data
	
  LCD_WriteRegister16(0x0001, 0x0100); 
	LCD_WriteRegister16(0x0002, 0x0700);
	LCD_WriteRegister16(0x0003, 0x1030);
	LCD_WriteRegister16(0x0008, 0x0302);
	LCD_WriteRegister16(0x0009, 0x0000);
	LCD_WriteRegister16(0x000A, 0x0008);
	
	//*******POWER CONTROL REGISTER INITIAL*******//
	LCD_WriteRegister16(0x0010, 0x0790);
	LCD_WriteRegister16(0x0011, 0x0005);
	LCD_WriteRegister16(0x0012, 0x0000);
	LCD_WriteRegister16(0x0013, 0x0000);
	//delay
	//HAL_Delay(10);
	//********POWER SUPPPLY STARTUP 1 SETTING*******//
	LCD_WriteRegister16(0x0010, 0x12B0);
	LCD_WriteRegister16(0x0011, 0x0007);
	//delay
	//HAL_Delay(10);
	//********POWER SUPPLY STARTUP 2 SETTING******//
	LCD_WriteRegister16(0x0012, 0x008c);
	LCD_WriteRegister16(0x0013, 0x1700);
	LCD_WriteRegister16(0x0029, 0x0022);
	//delay
	//HAL_Delay(10);
	//******GAMMA CLUSTER SETTING******//
	//LCD_WriteRegister16(0x0020, 0x0000);
	//LCD_WriteRegister16(0x0021, 0x0000);
	
	LCD_WriteRegister16(0x0030, 0x0000);
	LCD_WriteRegister16(0x0031, 0x0505);
	LCD_WriteRegister16(0x0032, 0x0205);
	LCD_WriteRegister16(0x0035, 0x0206);
	LCD_WriteRegister16(0x0036, 0x0408);
	LCD_WriteRegister16(0x0037, 0x0000);
	LCD_WriteRegister16(0x0038, 0x0504);
	LCD_WriteRegister16(0x0039, 0x0206);
	LCD_WriteRegister16(0x003C, 0x0206);
	LCD_WriteRegister16(0x003D, 0x0408);
	
	// -----------DISPLAY WINDOWS 240*320-------------//
	LCD_WriteRegister16(0x0050, 0x0000);
	LCD_WriteRegister16(0x0051, 0x00EF);
	LCD_WriteRegister16(0x0052, 0x0000);
	LCD_WriteRegister16(0x0053, 0x013F);
	//-----FRAME RATE SETTING-------//
	LCD_WriteRegister16(0x0060, 0xA700);
	LCD_WriteRegister16(0x0061, 0x0001);
	LCD_WriteRegister16(0x0090, 0x0033);//RTNI setting
	//-------DISPLAY ON------//
	LCD_WriteRegister16(0x0007, 0x0133);

	LCD_WriteRegister16(0x0001, 0x0100); 
	LCD_WriteRegister16(0x0002, 0x0700);
	LCD_WriteRegister16(0x0003, 0x1030);
	LCD_WriteRegister16(0x0008, 0x0302);
	LCD_WriteRegister16(0x0009, 0x0000);
	LCD_WriteRegister16(0x000A, 0x0008);
	
	//*******POWER CONTROL REGISTER INITIAL*******//
// 	LCD_WriteRegister16(0x0010, 0x0790);
// 	LCD_WriteRegister16(0x0011, 0x0005);
// 	LCD_WriteRegister16(0x0012, 0x0000);
// 	LCD_WriteRegister16(0x0013, 0x0000);
// 	//delay
	//HAL_Delay(10);
	//********POWER SUPPPLY STARTUP 1 SETTING*******//
	LCD_WriteRegister16(0x0010, 0x12B0);
	LCD_WriteRegister16(0x0011, 0x0007);
	//delay
	//HAL_Delay(10);
	//********POWER SUPPLY STARTUP 2 SETTING******//
	LCD_WriteRegister16(0x0012, 0x008c);
	LCD_WriteRegister16(0x0013, 0x1700);
	LCD_WriteRegister16(0x0029, 0x0022);
	//delay
	//HAL_Delay(10);
	//******GAMMA CLUSTER SETTING******//
	//LCD_WriteRegister16(0x0020, 0x0000);
	//LCD_WriteRegister16(0x0021, 0x0000);
	
	LCD_WriteRegister16(0x0030, 0x0000);
	LCD_WriteRegister16(0x0031, 0x0505);
	LCD_WriteRegister16(0x0032, 0x0205);
	LCD_WriteRegister16(0x0035, 0x0206);
	LCD_WriteRegister16(0x0036, 0x0408);
	LCD_WriteRegister16(0x0037, 0x0000);
	LCD_WriteRegister16(0x0038, 0x0504);
	LCD_WriteRegister16(0x0039, 0x0206);
	LCD_WriteRegister16(0x003C, 0x0206);
	LCD_WriteRegister16(0x003D, 0x0408);
	
	// -----------DISPLAY WINDOWS 240*320-------------//
	LCD_WriteRegister16(0x0050, 0x0000);
	LCD_WriteRegister16(0x0051, 0x00EF);
	LCD_WriteRegister16(0x0052, 0x0000);
	LCD_WriteRegister16(0x0053, 0x013F);
	//-----FRAME RATE SETTING-------//
	LCD_WriteRegister16(0x0060, 0xA700);
	LCD_WriteRegister16(0x0061, 0x0001);
	LCD_WriteRegister16(0x0090, 0x0033);//RTNI setting
	//-------DISPLAY ON------//
	LCD_WriteRegister16(0x0007, 0x0133);
	
	LCD_WriteRegister16(0x0020, 0x0000);
	LCD_WriteRegister16(0x0021, 0x0000);

	
}