Попытался подключить TFT(5:6:5; 320x240) модель MTF-TQ57SN721-AV к LPC2478. В итоге дисплей запустился, но корректно заработала только часть экрана начиная с 127 по 240 строку, а до 127 строки выводит не то, что надо. Кто-нибудь знает из-за чего это может быть.
Вот текст инициализации дисплея:
#define BUFFER_ADDR 0xA0000000 unsigned short * Ptr;
void InitPanel(void) { DWORD i;
PCONP |= 1<<20; PINSEL11 = ( (5<<1) | 1);
PINSEL4 &= ~(3<<4); PINSEL4 &= ~(3<<6); PINSEL4 &= ~(3<<8); PINSEL4 &= ~(3<<10); PINSEL4 |= ((3<<4) | (3<<6) | (3<<8) | (3<<10));
PINSEL3 &= ~(3<<8); PINSEL3 &= ~(3<<10); PINSEL3 &= ~(3<<12); PINSEL3 &= ~(3<<14); PINSEL3 &= ~(3<<16); PINSEL3 &= ~(3<<18); PINSEL3 &= ~(3<<20); PINSEL3 &= ~(3<<22); PINSEL3 &= ~(3<<24); PINSEL3 &= ~(3<<26); PINSEL3 |= ( (1<<8) | (1<<10) | (1<<12) | (1<<14) | (1<<16) | (1<<18) | (1<<20) | (1<<22) | (1<<24) | (1<<26) );
PINSEL4 &= ~(3<<12); PINSEL4 &= ~(3<<14); PINSEL4 &= ~(3<<16); PINSEL4 &= ~(3<<18); PINSEL4 &= ~(3<<24); PINSEL4 &= ~(3<<26); PINSEL4 |= ((3<<12) | (3<<14) | (3<<16) | (3<<18) | (1<<24) | (1<<26));
LCD_CFG_REG = 2; LCD_TIMH_REG = ( (0<<24) | (0<<16) | (50<<8) | (((320/16)-1)<<2)); LCD_TIMV_REG = ( (0<<24) | (0<<16) | (1<<10) | (240-1) ); LCD_POL_REG = ( (1<<26) | (((320/1)-1)<<16) | (1<<12) | (0<<5)); LCD_CTRL_REG = ((1<<5) | (6<<1)); LCD_CTRL_REG |= (1<<8);
LCD_UPBASE_REG = BUFFER_ADDR; LCD_LPBASE_REG = BUFFER_ADDR; for(i=0;i<50000;i++);
LCD_CTRL_REG |= 1; for(i=0;i<50000;i++); LCD_CTRL_REG |= 1<<11; }
|