Gast
#4464181
Hallo beste Community,
seit Tagen versuche ich mein adfruit ili9341 zu initialisieren aber es
tut sich einfach gar nichts. erklärt sich jemand bereit einen kurzen
blick drüber zu werfen, ob denn evtl. ein grober schnitzer zu erkennen
ist?
vielen dank im voraus
void UTFT::InitLCD(void)
{
// DDRF |= (1<<PF0);
// PORTF |= (1<<PF0);
TCCR2A = (1 << COM2A1) | (1 << WGM20);
TCCR2A = (1 << CS21); // clock source = CLK/8, start PWM
setBrightness(255);
//Reset Pin 4 (Mega Board: Port G, Pin 5)
// Data Direction = output;
//DDRG |= 0x20;
//CS Pin 5 -- (Mega Borad: port E , pin 3)
DDRB |= (1<<PB0);
// DC Pin 6 -- (Port H, Pin 3)
DDRA |= (1<<PA0);
SPI.SPI_init();
CS_TFT_HIGH;
DC_TFT_HIGH;
_delay_ms(1); //alter Wert 100
LCD_Write_COM(0xCB); //power control A
LCD_Write_DATA(0x39);
LCD_Write_DATA(0x2C);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x34);
LCD_Write_DATA(0x02);
LCD_Write_COM(0xCF); //power control B
LCD_Write_DATA(0x00);
LCD_Write_DATA(0XC1);
LCD_Write_DATA(0X30);
LCD_Write_COM(0xE8);
LCD_Write_DATA(0x85);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x78);
LCD_Write_COM(0xEA);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xED);
LCD_Write_DATA(0x64);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0X12);
LCD_Write_DATA(0X81);
LCD_Write_COM(0xF7);
LCD_Write_DATA(0x20);
LCD_Write_COM(0xC0); //Power control
LCD_Write_DATA(0x23); //VRH[5:0]
LCD_Write_COM(0xC1); //Power control
LCD_Write_DATA(0x10); //SAP[2:0];BT[3:0]
LCD_Write_COM(0xC5); //VCM control
LCD_Write_DATA(0x3e); //Contrast
LCD_Write_DATA(0x28);
LCD_Write_COM(0xC7); //VCM control2
LCD_Write_DATA(0x86); //--
// Memory Access Control
// [MY] [MX] [MV] [ML] [BGR] [MH] 0 0
// 0 1 0 0 1 0 0 0 = 48
// 0 1 0 1 1 0 0 0 = 58
LCD_Write_COM(0x36);
LCD_Write_DATA(0x48);
//writeData(0x58);
LCD_Write_COM(0x3A);
LCD_Write_DATA(0x55);
LCD_Write_COM(0xB1);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x18);// 79Hz
//writeData(0x13); //100 hz
LCD_Write_COM(0xB6); // Display Function Control
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x82);
LCD_Write_DATA(0x27);
LCD_Write_COM(0xF2); // 3Gamma Function Disable
LCD_Write_DATA(0x00);
LCD_Write_COM(0x26); //Gamma curve selected
LCD_Write_DATA(0x01);
LCD_Write_COM(0xE0); //Set Gamma
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0x2B);
LCD_Write_DATA(0x0C);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x4E);
LCD_Write_DATA(0xF1);
LCD_Write_DATA(0x37);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x09);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xE1); //Set Gamma
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x14);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0xC1);
LCD_Write_DATA(0x48);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x0C);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0x36);
LCD_Write_DATA(0x0F);
LCD_Write_COM(0x11); //Exit Sleep
_delay_ms(120);
LCD_Write_COM(0x29); //Display on
LCD_Write_COM(0x2c);
}