Cambiar orientación de pantalla en ILI9325

0

Empecé a jugar con una pantalla TFT barata, llamada HY28B. Es bastante conocido, supongo ... De todos modos, quiero cambiar la orientación de la pantalla al modo horizontal, pero de alguna manera no hace lo que quiero.

Intenté configurar la pantalla con esta configuración (ILI9325): enlace

Y cambié el valor del registro del modo de entrada (0x03) a 0x10B0, pero mi cadena aún está en modo retrato. Dibujé la cadena con el código de muestra de la pantalla de ebay.

Esta es la configuración exacta que estoy usando:

  LCD_WriteReg(0xE5, 0x78F0); // set SRAM internal timing
    LCD_WriteReg(0x01, 0x0100); // set Driver Output Control  
    LCD_WriteReg(0x02, 0x0700); // set 1 line inversion  
    LCD_WriteReg(0x03, 0x1030); // set GRAM write direction and BGR=1.  
    LCD_WriteReg(0x04, 0x0000); // Resize register  
    LCD_WriteReg(0x08, 0x0207); // set the back porch and front porch  
    LCD_WriteReg(0x09, 0x0000); // set non-display area refresh cycle ISC[3:0]  
    LCD_WriteReg(0x0A, 0x0000); // FMARK function  
    LCD_WriteReg(0x0C, 0x0000); // RGB interface setting  
    LCD_WriteReg(0x0D, 0x0000); // Frame marker Position  
    LCD_WriteReg(0x0F, 0x0000); // RGB interface polarity  
    //*************Power On sequence ****************//  
    LCD_WriteReg(0x10, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB  
    LCD_WriteReg(0x11, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]  
    LCD_WriteReg(0x12, 0x0000); // VREG1OUT voltage  
    LCD_WriteReg(0x13, 0x0000); // VDV[4:0] for VCOM amplitude  
    LCD_WriteReg(0x07, 0x0001);  
    delay(200); // Dis-charge capacitor power voltage  
    LCD_WriteReg(0x10, 0x1090); // SAP, BT[3:0], AP, DSTB, SLP, STB  
    LCD_WriteReg(0x11, 0x0227); // Set DC1[2:0], DC0[2:0], VC[2:0]  
    delay(50); // Delay 50ms  
    LCD_WriteReg(0x12, 0x001F); // 0012  
    delay(50); // Delay 50ms  
    LCD_WriteReg(0x13, 0x1500); // VDV[4:0] for VCOM amplitude  
    LCD_WriteReg(0x29, 0x0027); // 04  VCM[5:0] for VCOMH  
    LCD_WriteReg(0x2B, 0x000D); // Set Frame Rate  
    delay(50); // Delay 50ms  
    LCD_WriteReg(0x20, 0x0000); // GRAM horizontal Address  
    LCD_WriteReg(0x21, 0x0000); // GRAM Vertical Address  
    // ----------- Adjust the Gamma Curve ----------//  
    LCD_WriteReg(0x30, 0x0000);  
    LCD_WriteReg(0x31, 0x0707);  
    LCD_WriteReg(0x32, 0x0307);  
    LCD_WriteReg(0x35, 0x0200);  
    LCD_WriteReg(0x36, 0x0008);  
    LCD_WriteReg(0x37, 0x0004);  
    LCD_WriteReg(0x38, 0x0000);  
    LCD_WriteReg(0x39, 0x0707);  
    LCD_WriteReg(0x3C, 0x0002);  
    LCD_WriteReg(0x3D, 0x1D04);  
    //------------------ Set GRAM area ---------------//  
    LCD_WriteReg(0x50, 0x0000); // Horizontal GRAM Start Address  
    LCD_WriteReg(0x51, 0x00EF); // Horizontal GRAM End Address  
    LCD_WriteReg(0x52, 0x0000); // Vertical GRAM Start Address  
    LCD_WriteReg(0x53, 0x013F); // Vertical GRAM Start Address  
    LCD_WriteReg(0x60, 0xA700); // Gate Scan Line  
    LCD_WriteReg(0x61, 0x0001); // NDL,VLE, REV   
    LCD_WriteReg(0x6A, 0x0000); // set scrolling line  
    //-------------- Partial Display Control ---------//  
    LCD_WriteReg(0x80, 0x0000);  
    LCD_WriteReg(0x81, 0x0000);  
    LCD_WriteReg(0x82, 0x0000);  
    LCD_WriteReg(0x83, 0x0000);  
    LCD_WriteReg(0x84, 0x0000);  
    LCD_WriteReg(0x85, 0x0000);  
    //-------------- Panel Control -------------------//  
    LCD_WriteReg(0x90, 0x0010);  
    LCD_WriteReg(0x92, 0x0600);  
    LCD_WriteReg(0x07, 0x0133); // 262K color and display ON        
    
pregunta erbal

1 respuesta

1

EDITAR: Para todas las lecturas, el OP puede necesitar más ayuda con la hoja de datos de la que puedo proporcionar a continuación, es un buen punto de partida, pero no tengo tiempo para leer arriba y abajo de la hoja para ver qué sucede. Vea los comentarios sobre esta respuesta si cree que puede ayudar.

Publicación original:

Establece el registro 3 en el valor: 0x1030 en tu código. Ahora vea la hoja de datos de Adafruit de su conjunto de chips (no soy el mayor partidario de Ada que existe, pero es el único enlace que puedo encontrar que está cerca del inglés adecuado):

Datos de chips de Adafruit ILI9325

En la página 55 de 107, muestra una tabla. Usted quiere que AM = 1 y la ID [0: 1] sean su elección dependiendo de si desea subir / bajar y duplicar / reflejar.

Ahora desplácese hasta la página 54, para mostrar el diseño del registro:

{...}{D7} {D6} {D5} {D4} {D3} {D2} {D1} {D0}
{...}{ORG}{0}  {ID1}{ID0}{AM} {0}  {0}  {0}

Como puede ver, su último 0 escribe un 0 a AM, desea que el último cifrado sea 8 para vertical, por lo tanto: 0x10? 8, ¿dónde? es su elección según las instrucciones en la tabla en la página 55.

    
respondido por el Asmyldof

Lea otras preguntas en las etiquetas