void ILI9341_SetPosition(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { ILI9341_SendCommand(ILI9341_COLUMN_ADDR); ILI9341_SendData(x1 >> 8); ILI9341_SendData(x1 & 0xFF); ILI9341_SendData(x2 >> 8); ILI9341_SendData(x2 & 0xFF); ILI9341_SendCommand(ILI9341_PAGE_ADDR); ILI9341_SendData(y1 >> 8); ILI9341_SendData(y1 & 0xFF); ILI9341_SendData(y2 >> 8); ILI9341_SendData(y2 & 0xFF); }
void ILI9341_DrawPixel(uint16_t x, uint16_t y, uint32_t Color) { ILI9341_SetPosition(x, y, x, y); ILI9341_SendCommand(ILI9341_GRAM); ILI9341_SendData(Color >> 8); ILI9341_SendData(Color & 0xFF); }
void ILI9341_Init(void) { ILI9341_CS_SET; /* Initialization sequence */ ILI9341_SendCommand(0xCA); ILI9341_SendData(0xC3); ILI9341_SendData(0x08); ILI9341_SendData(0x50); ILI9341_SendCommand(ILI9341_POWERB); ILI9341_SendData(0x00); ILI9341_SendData(0xC1); ILI9341_SendData(0x30); ILI9341_SendCommand(ILI9341_POWER_SEQ); ILI9341_SendData(0x64); ILI9341_SendData(0x03); ILI9341_SendData(0x12); ILI9341_SendData(0x81); ILI9341_SendCommand(ILI9341_DTCA); ILI9341_SendData(0x85); ILI9341_SendData(0x00); ILI9341_SendData(0x78); ILI9341_SendCommand(ILI9341_POWERA); ILI9341_SendData(0x39); ILI9341_SendData(0x2C); ILI9341_SendData(0x00); ILI9341_SendData(0x34); ILI9341_SendData(0x02); ILI9341_SendCommand(ILI9341_PRC); ILI9341_SendData(0x20); ILI9341_SendCommand(ILI9341_DTCB); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendCommand(ILI9341_FRC); ILI9341_SendData(0x00); ILI9341_SendData(0x1B); ILI9341_SendCommand(ILI9341_DFC); ILI9341_SendData(0x0A); ILI9341_SendData(0xA2); ILI9341_SendCommand(ILI9341_POWER1); ILI9341_SendData(0x10); ILI9341_SendCommand(ILI9341_POWER2); ILI9341_SendData(0x10); ILI9341_SendCommand(ILI9341_VCOM1); ILI9341_SendData(0x45); ILI9341_SendData(0x15); ILI9341_SendCommand(ILI9341_VCOM2); ILI9341_SendData(0x90); ILI9341_SendCommand(ILI9341_MAC); ILI9341_SendData(0xC8); ILI9341_SendCommand(ILI9341_3GAMMA_EN); ILI9341_SendData(0x00); ILI9341_SendCommand(ILI9341_RGB_INTERFACE); ILI9341_SendData(0xC2); ILI9341_SendCommand(ILI9341_DFC); ILI9341_SendData(0x0A); ILI9341_SendData(0xA7); ILI9341_SendData(0x27); ILI9341_SendData(0x04); ILI9341_SendCommand(ILI9341_COLUMN_ADDR); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendData(0xEF); ILI9341_SendCommand(ILI9341_PAGE_ADDR); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendData(0x01); ILI9341_SendData(0x3F); ILI9341_SendCommand(ILI9341_INTERFACE); ILI9341_SendData(0x01); ILI9341_SendData(0x00); ILI9341_SendData(0x06); ILI9341_SendCommand(ILI9341_GRAM); HAL_Delay(10); ILI9341_SendCommand(ILI9341_GAMMA); ILI9341_SendData(0x01); ILI9341_SendCommand(ILI9341_PGAMMA); ILI9341_SendData(0x0F); ILI9341_SendData(0x29); ILI9341_SendData(0x24); ILI9341_SendData(0x0C); ILI9341_SendData(0x0E); ILI9341_SendData(0x09); ILI9341_SendData(0x4E); ILI9341_SendData(0x78); ILI9341_SendData(0x3C); ILI9341_SendData(0x09); ILI9341_SendData(0x13); ILI9341_SendData(0x05); ILI9341_SendData(0x17); ILI9341_SendData(0x11); ILI9341_SendData(0x00); ILI9341_SendCommand(ILI9341_NGAMMA); ILI9341_SendData(0x00); ILI9341_SendData(0x16); ILI9341_SendData(0x1B); ILI9341_SendData(0x04); ILI9341_SendData(0x11); ILI9341_SendData(0x07); ILI9341_SendData(0x31); ILI9341_SendData(0x33); ILI9341_SendData(0x42); ILI9341_SendData(0x05); ILI9341_SendData(0x0C); ILI9341_SendData(0x0A); ILI9341_SendData(0x28); ILI9341_SendData(0x2F); ILI9341_SendData(0x0F); ILI9341_SendCommand(ILI9341_SLEEP_OUT); HAL_Delay(10); ILI9341_SendCommand(ILI9341_DISPLAY_ON); ILI9341_SendCommand(ILI9341_GRAM); }
void ILI9341_InitLCD() { /* Force reset */ ILI9341_RST_RESET; ILI9341_Delay(20000); ILI9341_RST_SET; /* Delay for RST response */ ILI9341_Delay(20000); /* Software reset */ ILI9341_SendCommand(ILI9341_RESET); ILI9341_Delay(50000); ILI9341_SendCommand(ILI9341_POWERA); ILI9341_SendData(0x39); ILI9341_SendData(0x2C); ILI9341_SendData(0x00); ILI9341_SendData(0x34); ILI9341_SendData(0x02); ILI9341_SendCommand(ILI9341_POWERB); ILI9341_SendData(0x00); ILI9341_SendData(0xC1); ILI9341_SendData(0x30); ILI9341_SendCommand(ILI9341_DTCA); ILI9341_SendData(0x85); ILI9341_SendData(0x00); ILI9341_SendData(0x78); ILI9341_SendCommand(ILI9341_DTCB); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendCommand(ILI9341_POWER_SEQ); ILI9341_SendData(0x64); ILI9341_SendData(0x03); ILI9341_SendData(0x12); ILI9341_SendData(0x81); ILI9341_SendCommand(ILI9341_PRC); ILI9341_SendData(0x20); ILI9341_SendCommand(ILI9341_POWER1); ILI9341_SendData(0x23); ILI9341_SendCommand(ILI9341_POWER2); ILI9341_SendData(0x10); ILI9341_SendCommand(ILI9341_VCOM1); ILI9341_SendData(0x3E); ILI9341_SendData(0x28); ILI9341_SendCommand(ILI9341_VCOM2); ILI9341_SendData(0x86); ILI9341_SendCommand(ILI9341_MAC); ILI9341_SendData(0x48); ILI9341_SendCommand(ILI9341_PIXEL_FORMAT); ILI9341_SendData(0x55); ILI9341_SendCommand(ILI9341_FRC); ILI9341_SendData(0x00); ILI9341_SendData(0x18); ILI9341_SendCommand(ILI9341_DFC); ILI9341_SendData(0x08); ILI9341_SendData(0x82); ILI9341_SendData(0x27); ILI9341_SendCommand(ILI9341_3GAMMA_EN); ILI9341_SendData(0x00); ILI9341_SendCommand(ILI9341_COLUMN_ADDR); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendData(0xEF); ILI9341_SendCommand(ILI9341_PAGE_ADDR); ILI9341_SendData(0x00); ILI9341_SendData(0x00); ILI9341_SendData(0x01); ILI9341_SendData(0x3F); ILI9341_SendCommand(ILI9341_GAMMA); ILI9341_SendData(0x01); ILI9341_SendCommand(ILI9341_PGAMMA); ILI9341_SendData(0x0F); ILI9341_SendData(0x31); ILI9341_SendData(0x2B); ILI9341_SendData(0x0C); ILI9341_SendData(0x0E); ILI9341_SendData(0x08); ILI9341_SendData(0x4E); ILI9341_SendData(0xF1); ILI9341_SendData(0x37); ILI9341_SendData(0x07); ILI9341_SendData(0x10); ILI9341_SendData(0x03); ILI9341_SendData(0x0E); ILI9341_SendData(0x09); ILI9341_SendData(0x00); ILI9341_SendCommand(ILI9341_NGAMMA); ILI9341_SendData(0x00); ILI9341_SendData(0x0E); ILI9341_SendData(0x14); ILI9341_SendData(0x03); ILI9341_SendData(0x11); ILI9341_SendData(0x07); ILI9341_SendData(0x31); ILI9341_SendData(0xC1); ILI9341_SendData(0x48); ILI9341_SendData(0x08); ILI9341_SendData(0x0F); ILI9341_SendData(0x0C); ILI9341_SendData(0x31); ILI9341_SendData(0x36); ILI9341_SendData(0x0F); ILI9341_SendCommand(ILI9341_SLEEP_OUT); ILI9341_Delay(1000000); ILI9341_SendCommand(ILI9341_DISPLAY_ON); ILI9341_SendCommand(ILI9341_GRAM); }