Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
TFT+LPC2478
Отправлено
microsha 08 июля 2008 г. 07:43
Попытался подключить 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;
}
Составить ответ | Вернуться на конференцию
Ответы