|
|
|
|
@ -1,27 +1,502 @@
|
|
|
|
|
|
|
|
|
|
// This is the command sequence that initialises the NT35510 driver
|
|
|
|
|
// Configure NT35510 display
|
|
|
|
|
|
|
|
|
|
#define Byte8H(ByteH) ((uint8_t)(((uint16_t)(ByteH)&0xFF00)>>8))
|
|
|
|
|
#define Byte8L(ByteL) ((uint8_t)( (uint16_t)(ByteL)&0x00FF))
|
|
|
|
|
//************* NT35510初始化**********//
|
|
|
|
|
/* MAUCCTR: Manufacture Command Set enable */
|
|
|
|
|
//#Enable Page1
|
|
|
|
|
writecommand16(0xF000); writedata16(0x55);
|
|
|
|
|
writecommand16(0xF001); writedata16(0xAA);
|
|
|
|
|
writecommand16(0xF002); writedata16(0x52);
|
|
|
|
|
writecommand16(0xF003); writedata16(0x08);
|
|
|
|
|
writecommand16(0xF004); writedata16(0x01);
|
|
|
|
|
|
|
|
|
|
#ifndef TFT_CASET_CMD
|
|
|
|
|
#define TFT_CASET_CMD(x0, x1) \
|
|
|
|
|
DC_C; tft_Write_8(TFT_CASET); \
|
|
|
|
|
DC_D; tft_Write_32C(x0, x1)
|
|
|
|
|
#endif
|
|
|
|
|
/* BT1CTR: BT1 Power Control for AVDD */
|
|
|
|
|
//# AVDD: manual);
|
|
|
|
|
writecommand16(0xB600); writedata16(0x34);
|
|
|
|
|
writecommand16(0xB601); writedata16(0x34);
|
|
|
|
|
writecommand16(0xB602); writedata16(0x34);
|
|
|
|
|
|
|
|
|
|
#ifndef TFT_PASET_CMD
|
|
|
|
|
#define TFT_PASET_CMD(y0, y1) \
|
|
|
|
|
DC_C; tft_Write_8(TFT_PASET); \
|
|
|
|
|
DC_D; tft_Write_32C(y0, y1)
|
|
|
|
|
#endif
|
|
|
|
|
/* SETAVDD: Setting AVDD Voltage */
|
|
|
|
|
writecommand16(0xB000); writedata16(0x0D);//09
|
|
|
|
|
writecommand16(0xB001); writedata16(0x0D);
|
|
|
|
|
writecommand16(0xB002); writedata16(0x0D);
|
|
|
|
|
|
|
|
|
|
#define writecommand16(cmd) \
|
|
|
|
|
writecommand(Byte8H(cmd)); writecommand(Byte8L(cmd))
|
|
|
|
|
/* BT2CTR: BT2 Power Control for AVEE */
|
|
|
|
|
//# AVEE: manual); -6V
|
|
|
|
|
writecommand16(0xB700); writedata16(0x24);
|
|
|
|
|
writecommand16(0xB701); writedata16(0x24);
|
|
|
|
|
writecommand16(0xB702); writedata16(0x24);
|
|
|
|
|
|
|
|
|
|
#define writedata16(data) \
|
|
|
|
|
writedata(Byte8H(data)); writedata(Byte8L(data))
|
|
|
|
|
/* SETAVEE: Setting AVEE Voltage */
|
|
|
|
|
writecommand16(0xB100); writedata16(0x0D);
|
|
|
|
|
writecommand16(0xB101); writedata16(0x0D);
|
|
|
|
|
writecommand16(0xB102); writedata16(0x0D);
|
|
|
|
|
|
|
|
|
|
/* BT3CTR: BT3 Power Control for VCL */
|
|
|
|
|
writecommand16(0xB800); writedata16(0x24);
|
|
|
|
|
writecommand16(0xB801); writedata16(0x24);
|
|
|
|
|
writecommand16(0xB802); writedata16(0x24);
|
|
|
|
|
|
|
|
|
|
/* SETVCL: Setting VCL Voltage */
|
|
|
|
|
writecommand16(0xB200); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* BT4CTR: BT4 Power Control for VGH */
|
|
|
|
|
//# VGH: Clamp Enable);
|
|
|
|
|
writecommand16(0xB900); writedata16(0x24);
|
|
|
|
|
writecommand16(0xB901); writedata16(0x24);
|
|
|
|
|
writecommand16(0xB902); writedata16(0x24);
|
|
|
|
|
|
|
|
|
|
/* SETVGH: Setting VGH Voltage */
|
|
|
|
|
writecommand16(0xB300); writedata16(0x05);
|
|
|
|
|
writecommand16(0xB301); writedata16(0x05);
|
|
|
|
|
writecommand16(0xB302); writedata16(0x05);
|
|
|
|
|
|
|
|
|
|
/* VGHCTR: VGH Output Voltage - commented out */
|
|
|
|
|
///writecommand16(0xBF00); writedata16(0x01);
|
|
|
|
|
|
|
|
|
|
/* BT5CTR: BT5 Power Control for VGLX */
|
|
|
|
|
//# VGL(LVGL):
|
|
|
|
|
writecommand16(0xBA00); writedata16(0x34);
|
|
|
|
|
writecommand16(0xBA01); writedata16(0x34);
|
|
|
|
|
writecommand16(0xBA02); writedata16(0x34);
|
|
|
|
|
|
|
|
|
|
/* SETVGL_REG: Setting VGL_REG Voltage */
|
|
|
|
|
//# VGL_REG(VGLO)
|
|
|
|
|
writecommand16(0xB500); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xB501); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xB502); writedata16(0x0B);
|
|
|
|
|
|
|
|
|
|
/* SETVGP: Setting VGMP and VGSP Voltage */
|
|
|
|
|
//# VGMP/VGSP:
|
|
|
|
|
writecommand16(0xBC00); writedata16(0X00);
|
|
|
|
|
writecommand16(0xBC01); writedata16(0xA3);
|
|
|
|
|
writecommand16(0xBC02); writedata16(0X00);
|
|
|
|
|
|
|
|
|
|
/* SETVGN: Setting VGMN and VGSN Voltage */
|
|
|
|
|
//# VGMN/VGSN
|
|
|
|
|
writecommand16(0xBD00); writedata16(0x00);
|
|
|
|
|
writecommand16(0xBD01); writedata16(0xA3);
|
|
|
|
|
writecommand16(0xBD02); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* SETVCMOFF: Setting VCOM Offset Voltage */
|
|
|
|
|
//# VCOM=-0.1
|
|
|
|
|
writecommand16(0xBE00); writedata16(0x00);
|
|
|
|
|
writecommand16(0xBE01); writedata16(0x63);//4f
|
|
|
|
|
// VCOMH+0x01;
|
|
|
|
|
|
|
|
|
|
/* GMRCTR1: Setting Gamma 2.2 Correction for Red (Positive) */
|
|
|
|
|
//#R+
|
|
|
|
|
writecommand16(0xD100); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD101); writedata16(0x37);
|
|
|
|
|
writecommand16(0xD102); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD103); writedata16(0x52);
|
|
|
|
|
writecommand16(0xD104); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD105); writedata16(0x7B);
|
|
|
|
|
writecommand16(0xD106); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD107); writedata16(0x99);
|
|
|
|
|
writecommand16(0xD108); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD109); writedata16(0xB1);
|
|
|
|
|
writecommand16(0xD10A); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD10B); writedata16(0xD2);
|
|
|
|
|
writecommand16(0xD10C); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD10D); writedata16(0xF6);
|
|
|
|
|
writecommand16(0xD10E); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD10F); writedata16(0x27);
|
|
|
|
|
writecommand16(0xD110); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD111); writedata16(0x4E);
|
|
|
|
|
writecommand16(0xD112); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD113); writedata16(0x8C);
|
|
|
|
|
writecommand16(0xD114); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD115); writedata16(0xBE);
|
|
|
|
|
writecommand16(0xD116); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD117); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xD118); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD119); writedata16(0x48);
|
|
|
|
|
writecommand16(0xD11A); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD11B); writedata16(0x4A);
|
|
|
|
|
writecommand16(0xD11C); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD11D); writedata16(0x7E);
|
|
|
|
|
writecommand16(0xD11E); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD11F); writedata16(0xBC);
|
|
|
|
|
writecommand16(0xD120); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD121); writedata16(0xE1);
|
|
|
|
|
writecommand16(0xD122); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD123); writedata16(0x10);
|
|
|
|
|
writecommand16(0xD124); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD125); writedata16(0x31);
|
|
|
|
|
writecommand16(0xD126); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD127); writedata16(0x5A);
|
|
|
|
|
writecommand16(0xD128); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD129); writedata16(0x73);
|
|
|
|
|
writecommand16(0xD12A); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD12B); writedata16(0x94);
|
|
|
|
|
writecommand16(0xD12C); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD12D); writedata16(0x9F);
|
|
|
|
|
writecommand16(0xD12E); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD12F); writedata16(0xB3);
|
|
|
|
|
writecommand16(0xD130); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD131); writedata16(0xB9);
|
|
|
|
|
writecommand16(0xD132); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD133); writedata16(0xC1);
|
|
|
|
|
|
|
|
|
|
/* GMGCTR1: Setting Gamma 2.2 Correction for Green (Positive) */
|
|
|
|
|
//#G+
|
|
|
|
|
writecommand16(0xD200); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD201); writedata16(0x37);
|
|
|
|
|
writecommand16(0xD202); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD203); writedata16(0x52);
|
|
|
|
|
writecommand16(0xD204); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD205); writedata16(0x7B);
|
|
|
|
|
writecommand16(0xD206); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD207); writedata16(0x99);
|
|
|
|
|
writecommand16(0xD208); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD209); writedata16(0xB1);
|
|
|
|
|
writecommand16(0xD20A); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD20B); writedata16(0xD2);
|
|
|
|
|
writecommand16(0xD20C); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD20D); writedata16(0xF6);
|
|
|
|
|
writecommand16(0xD20E); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD20F); writedata16(0x27);
|
|
|
|
|
writecommand16(0xD210); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD211); writedata16(0x4E);
|
|
|
|
|
writecommand16(0xD212); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD213); writedata16(0x8C);
|
|
|
|
|
writecommand16(0xD214); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD215); writedata16(0xBE);
|
|
|
|
|
writecommand16(0xD216); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD217); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xD218); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD219); writedata16(0x48);
|
|
|
|
|
writecommand16(0xD21A); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD21B); writedata16(0x4A);
|
|
|
|
|
writecommand16(0xD21C); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD21D); writedata16(0x7E);
|
|
|
|
|
writecommand16(0xD21E); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD21F); writedata16(0xBC);
|
|
|
|
|
writecommand16(0xD220); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD221); writedata16(0xE1);
|
|
|
|
|
writecommand16(0xD222); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD223); writedata16(0x10);
|
|
|
|
|
writecommand16(0xD224); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD225); writedata16(0x31);
|
|
|
|
|
writecommand16(0xD226); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD227); writedata16(0x5A);
|
|
|
|
|
writecommand16(0xD228); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD229); writedata16(0x73);
|
|
|
|
|
writecommand16(0xD22A); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD22B); writedata16(0x94);
|
|
|
|
|
writecommand16(0xD22C); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD22D); writedata16(0x9F);
|
|
|
|
|
writecommand16(0xD22E); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD22F); writedata16(0xB3);
|
|
|
|
|
writecommand16(0xD230); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD231); writedata16(0xB9);
|
|
|
|
|
writecommand16(0xD232); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD233); writedata16(0xC1);
|
|
|
|
|
|
|
|
|
|
/* GMBCTR1: Setting Gamma 2.2 Correction for Blue (Positive) */
|
|
|
|
|
//#B+
|
|
|
|
|
writecommand16(0xD300); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD301); writedata16(0x37);
|
|
|
|
|
writecommand16(0xD302); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD303); writedata16(0x52);
|
|
|
|
|
writecommand16(0xD304); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD305); writedata16(0x7B);
|
|
|
|
|
writecommand16(0xD306); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD307); writedata16(0x99);
|
|
|
|
|
writecommand16(0xD308); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD309); writedata16(0xB1);
|
|
|
|
|
writecommand16(0xD30A); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD30B); writedata16(0xD2);
|
|
|
|
|
writecommand16(0xD30C); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD30D); writedata16(0xF6);
|
|
|
|
|
writecommand16(0xD30E); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD30F); writedata16(0x27);
|
|
|
|
|
writecommand16(0xD310); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD311); writedata16(0x4E);
|
|
|
|
|
writecommand16(0xD312); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD313); writedata16(0x8C);
|
|
|
|
|
writecommand16(0xD314); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD315); writedata16(0xBE);
|
|
|
|
|
writecommand16(0xD316); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD317); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xD318); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD319); writedata16(0x48);
|
|
|
|
|
writecommand16(0xD31A); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD31B); writedata16(0x4A);
|
|
|
|
|
writecommand16(0xD31C); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD31D); writedata16(0x7E);
|
|
|
|
|
writecommand16(0xD31E); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD31F); writedata16(0xBC);
|
|
|
|
|
writecommand16(0xD320); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD321); writedata16(0xE1);
|
|
|
|
|
writecommand16(0xD322); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD323); writedata16(0x10);
|
|
|
|
|
writecommand16(0xD324); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD325); writedata16(0x31);
|
|
|
|
|
writecommand16(0xD326); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD327); writedata16(0x5A);
|
|
|
|
|
writecommand16(0xD328); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD329); writedata16(0x73);
|
|
|
|
|
writecommand16(0xD32A); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD32B); writedata16(0x94);
|
|
|
|
|
writecommand16(0xD32C); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD32D); writedata16(0x9F);
|
|
|
|
|
writecommand16(0xD32E); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD32F); writedata16(0xB3);
|
|
|
|
|
writecommand16(0xD330); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD331); writedata16(0xB9);
|
|
|
|
|
writecommand16(0xD332); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD333); writedata16(0xC1);
|
|
|
|
|
|
|
|
|
|
/* GMRCTR2: Setting Gamma 2.2 Correction for Red (Negative) */
|
|
|
|
|
//#R-///////////////////////////////////////////
|
|
|
|
|
writecommand16(0xD400); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD401); writedata16(0x37);
|
|
|
|
|
writecommand16(0xD402); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD403); writedata16(0x52);
|
|
|
|
|
writecommand16(0xD404); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD405); writedata16(0x7B);
|
|
|
|
|
writecommand16(0xD406); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD407); writedata16(0x99);
|
|
|
|
|
writecommand16(0xD408); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD409); writedata16(0xB1);
|
|
|
|
|
writecommand16(0xD40A); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD40B); writedata16(0xD2);
|
|
|
|
|
writecommand16(0xD40C); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD40D); writedata16(0xF6);
|
|
|
|
|
writecommand16(0xD40E); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD40F); writedata16(0x27);
|
|
|
|
|
writecommand16(0xD410); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD411); writedata16(0x4E);
|
|
|
|
|
writecommand16(0xD412); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD413); writedata16(0x8C);
|
|
|
|
|
writecommand16(0xD414); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD415); writedata16(0xBE);
|
|
|
|
|
writecommand16(0xD416); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD417); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xD418); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD419); writedata16(0x48);
|
|
|
|
|
writecommand16(0xD41A); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD41B); writedata16(0x4A);
|
|
|
|
|
writecommand16(0xD41C); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD41D); writedata16(0x7E);
|
|
|
|
|
writecommand16(0xD41E); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD41F); writedata16(0xBC);
|
|
|
|
|
writecommand16(0xD420); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD421); writedata16(0xE1);
|
|
|
|
|
writecommand16(0xD422); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD423); writedata16(0x10);
|
|
|
|
|
writecommand16(0xD424); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD425); writedata16(0x31);
|
|
|
|
|
writecommand16(0xD426); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD427); writedata16(0x5A);
|
|
|
|
|
writecommand16(0xD428); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD429); writedata16(0x73);
|
|
|
|
|
writecommand16(0xD42A); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD42B); writedata16(0x94);
|
|
|
|
|
writecommand16(0xD42C); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD42D); writedata16(0x9F);
|
|
|
|
|
writecommand16(0xD42E); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD42F); writedata16(0xB3);
|
|
|
|
|
writecommand16(0xD430); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD431); writedata16(0xB9);
|
|
|
|
|
writecommand16(0xD432); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD433); writedata16(0xC1);
|
|
|
|
|
|
|
|
|
|
/* GMGCTR2: Setting Gamma 2.2 Correction for Green (Negative) */
|
|
|
|
|
//#G-//////////////////////////////////////////////
|
|
|
|
|
writecommand16(0xD500); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD501); writedata16(0x37);
|
|
|
|
|
writecommand16(0xD502); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD503); writedata16(0x52);
|
|
|
|
|
writecommand16(0xD504); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD505); writedata16(0x7B);
|
|
|
|
|
writecommand16(0xD506); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD507); writedata16(0x99);
|
|
|
|
|
writecommand16(0xD508); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD509); writedata16(0xB1);
|
|
|
|
|
writecommand16(0xD50A); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD50B); writedata16(0xD2);
|
|
|
|
|
writecommand16(0xD50C); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD50D); writedata16(0xF6);
|
|
|
|
|
writecommand16(0xD50E); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD50F); writedata16(0x27);
|
|
|
|
|
writecommand16(0xD510); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD511); writedata16(0x4E);
|
|
|
|
|
writecommand16(0xD512); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD513); writedata16(0x8C);
|
|
|
|
|
writecommand16(0xD514); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD515); writedata16(0xBE);
|
|
|
|
|
writecommand16(0xD516); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD517); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xD518); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD519); writedata16(0x48);
|
|
|
|
|
writecommand16(0xD51A); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD51B); writedata16(0x4A);
|
|
|
|
|
writecommand16(0xD51C); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD51D); writedata16(0x7E);
|
|
|
|
|
writecommand16(0xD51E); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD51F); writedata16(0xBC);
|
|
|
|
|
writecommand16(0xD520); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD521); writedata16(0xE1);
|
|
|
|
|
writecommand16(0xD522); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD523); writedata16(0x10);
|
|
|
|
|
writecommand16(0xD524); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD525); writedata16(0x31);
|
|
|
|
|
writecommand16(0xD526); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD527); writedata16(0x5A);
|
|
|
|
|
writecommand16(0xD528); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD529); writedata16(0x73);
|
|
|
|
|
writecommand16(0xD52A); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD52B); writedata16(0x94);
|
|
|
|
|
writecommand16(0xD52C); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD52D); writedata16(0x9F);
|
|
|
|
|
writecommand16(0xD52E); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD52F); writedata16(0xB3);
|
|
|
|
|
writecommand16(0xD530); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD531); writedata16(0xB9);
|
|
|
|
|
writecommand16(0xD532); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD533); writedata16(0xC1);
|
|
|
|
|
|
|
|
|
|
/* GMBCTR2: Setting Gamma 2.2 Correction for Blue (Negative) */
|
|
|
|
|
//#B-///////////////////////////////
|
|
|
|
|
writecommand16(0xD600); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD601); writedata16(0x37);
|
|
|
|
|
writecommand16(0xD602); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD603); writedata16(0x52);
|
|
|
|
|
writecommand16(0xD604); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD605); writedata16(0x7B);
|
|
|
|
|
writecommand16(0xD606); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD607); writedata16(0x99);
|
|
|
|
|
writecommand16(0xD608); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD609); writedata16(0xB1);
|
|
|
|
|
writecommand16(0xD60A); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD60B); writedata16(0xD2);
|
|
|
|
|
writecommand16(0xD60C); writedata16(0x00);
|
|
|
|
|
writecommand16(0xD60D); writedata16(0xF6);
|
|
|
|
|
writecommand16(0xD60E); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD60F); writedata16(0x27);
|
|
|
|
|
writecommand16(0xD610); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD611); writedata16(0x4E);
|
|
|
|
|
writecommand16(0xD612); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD613); writedata16(0x8C);
|
|
|
|
|
writecommand16(0xD614); writedata16(0x01);
|
|
|
|
|
writecommand16(0xD615); writedata16(0xBE);
|
|
|
|
|
writecommand16(0xD616); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD617); writedata16(0x0B);
|
|
|
|
|
writecommand16(0xD618); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD619); writedata16(0x48);
|
|
|
|
|
writecommand16(0xD61A); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD61B); writedata16(0x4A);
|
|
|
|
|
writecommand16(0xD61C); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD61D); writedata16(0x7E);
|
|
|
|
|
writecommand16(0xD61E); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD61F); writedata16(0xBC);
|
|
|
|
|
writecommand16(0xD620); writedata16(0x02);
|
|
|
|
|
writecommand16(0xD621); writedata16(0xE1);
|
|
|
|
|
writecommand16(0xD622); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD623); writedata16(0x10);
|
|
|
|
|
writecommand16(0xD624); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD625); writedata16(0x31);
|
|
|
|
|
writecommand16(0xD626); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD627); writedata16(0x5A);
|
|
|
|
|
writecommand16(0xD628); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD629); writedata16(0x73);
|
|
|
|
|
writecommand16(0xD62A); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD62B); writedata16(0x94);
|
|
|
|
|
writecommand16(0xD62C); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD62D); writedata16(0x9F);
|
|
|
|
|
writecommand16(0xD62E); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD62F); writedata16(0xB3);
|
|
|
|
|
writecommand16(0xD630); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD631); writedata16(0xB9);
|
|
|
|
|
writecommand16(0xD632); writedata16(0x03);
|
|
|
|
|
writecommand16(0xD633); writedata16(0xC1);
|
|
|
|
|
|
|
|
|
|
/* MAUCCTR: Manufacture Command Set enable */
|
|
|
|
|
//#Enable Page0
|
|
|
|
|
writecommand16(0xF000); writedata16(0x55);
|
|
|
|
|
writecommand16(0xF001); writedata16(0xAA);
|
|
|
|
|
writecommand16(0xF002); writedata16(0x52);
|
|
|
|
|
writecommand16(0xF003); writedata16(0x08);
|
|
|
|
|
writecommand16(0xF004); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* RGBCTR: RGB Interface Signals Control */
|
|
|
|
|
//# RGB I/F Setting
|
|
|
|
|
writecommand16(0xB000); writedata16(0x08);
|
|
|
|
|
writecommand16(0xB001); writedata16(0x05);
|
|
|
|
|
writecommand16(0xB002); writedata16(0x02);
|
|
|
|
|
writecommand16(0xB003); writedata16(0x05);
|
|
|
|
|
writecommand16(0xB004); writedata16(0x02);
|
|
|
|
|
|
|
|
|
|
/* SDHDTCTR: Source Output Data Hold Time Control */
|
|
|
|
|
//## SDT:
|
|
|
|
|
writecommand16(0xB600); writedata16(0x08);
|
|
|
|
|
|
|
|
|
|
/* DPRSLCTR: Display Resolution Control */
|
|
|
|
|
writecommand16(0xB500); writedata16(0x50);//0x6b ???? 480x854 0x50 ???? 480x800
|
|
|
|
|
|
|
|
|
|
/* GSEQCTR: EQ Control Function for Gate Signals */
|
|
|
|
|
//## Gate EQ:
|
|
|
|
|
writecommand16(0xB700); writedata16(0x00);
|
|
|
|
|
writecommand16(0xB701); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* SDEQCTR: EQ Control Function for Source Driver */
|
|
|
|
|
//## Source EQ:
|
|
|
|
|
writecommand16(0xB800); writedata16(0x01);
|
|
|
|
|
writecommand16(0xB801); writedata16(0x05);
|
|
|
|
|
writecommand16(0xB802); writedata16(0x05);
|
|
|
|
|
writecommand16(0xB803); writedata16(0x05);
|
|
|
|
|
|
|
|
|
|
/* INVCTR: Inversion Driving Control */
|
|
|
|
|
//# Inversion: Column inversion (NVT)
|
|
|
|
|
writecommand16(0xBC00); writedata16(0x00);
|
|
|
|
|
writecommand16(0xBC01); writedata16(0x00);
|
|
|
|
|
writecommand16(0xBC02); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* DPTMCTR12: Display Timing Control 12 */
|
|
|
|
|
//# BOE's Setting(default)
|
|
|
|
|
writecommand16(0xCC00); writedata16(0x03);
|
|
|
|
|
writecommand16(0xCC01); writedata16(0x00);
|
|
|
|
|
writecommand16(0xCC02); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* DPFRCTR1: Display Timing Control in Normal / Idle Off Mode */
|
|
|
|
|
//# Display Timing:
|
|
|
|
|
writecommand16(0xBD00); writedata16(0x01);
|
|
|
|
|
writecommand16(0xBD01); writedata16(0x84);
|
|
|
|
|
writecommand16(0xBD02); writedata16(0x07);
|
|
|
|
|
writecommand16(0xBD03); writedata16(0x31);
|
|
|
|
|
writecommand16(0xBD04); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* SDVPCTR: Source Control in Vertical Porch Time */
|
|
|
|
|
writecommand16(0xBA00); writedata16(0x01);
|
|
|
|
|
|
|
|
|
|
/* MAUCCTR: Manufacture Command Set disable (?) */
|
|
|
|
|
writecommand16(0xFF00); writedata16(0xAA);
|
|
|
|
|
writecommand16(0xFF01); writedata16(0x55);
|
|
|
|
|
writecommand16(0xFF02); writedata16(0x25);
|
|
|
|
|
writecommand16(0xFF03); writedata16(0x01);
|
|
|
|
|
|
|
|
|
|
/* TEON: Tearing Effect Line ON */
|
|
|
|
|
writecommand16(0x3500); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* MADCTL: Memory Data Access Control */
|
|
|
|
|
writecommand16(TFT_MADCTL); writedata16(0x00);
|
|
|
|
|
|
|
|
|
|
/* COLMOD: Interface Pixel Format */
|
|
|
|
|
/* “0101” = 16-bit/pixel
|
|
|
|
|
“0110” = 18-bit/pixel
|
|
|
|
|
“0111” = 24-bit/pixel */
|
|
|
|
|
writecommand16(0x3a00); writedata16(0x55); ////55=16?/////66=18?
|
|
|
|
|
|
|
|
|
|
/* SLPOUT: Sleep Out */
|
|
|
|
|
writecommand16(TFT_SLPOUT);
|
|
|
|
|
delay(120);
|
|
|
|
|
|
|
|
|
|
/* DISPON: Display On */
|
|
|
|
|
writecommand16(TFT_DISPON);
|
|
|
|
|
|
|
|
|
|
/* RAMWR: Memory Write */
|
|
|
|
|
//writecommand16(TFT_RAMWR);
|
|
|
|
|
|
|
|
|
|
// End of NT35510 display configuration
|