реклама на сайте
подробности

 
 
> LPC2478+STN 4bit проблемма!
Rostic
сообщение Jul 30 2010, 07:16
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 2-05-09
Пользователь №: 48 559



Подключил WO320240A по 4битному интерфейсу. Подключен верно, сигналы смотрели осциллографом.

Собственно проблема:
После инициализации рисует на экране вертикальные полосы:
1)с включенным grayscaler и 4bpp - независимо от данных в видео памяти.
2)с выключеным grayscaler и 1bpp - рисует с шагом 1 точка через 3. выходит разрешение 80*240.(Притом рисует так что если первый байт в видеопамяти 0xFF появляеться 16 точек с шагом 1 точка через 3!)

В чём проблема непонятно... пробовал менять количество бит на писксел с 1bpp на 4bpp с настройкой палитры и включением grayscaler - не помогло.

Код инициализаци:
Код
    //CLKC 72000000

    #define STATIC_RAM_BASE    0x80000000



    DelayMs(100);
    PINSEL11 |= 1; //LCD Enable
    PCONP |= (1<<20); // включаем контроллер LCD

    PINSEL11 &= ~(7 << 1); //LCDM_4BIT_MONO_STN_SINGLE_PANEL

    PINSEL4 |=  ((3<<0)/*LCDPWR*/ | (3<<2)/*LCDPLE*/ | (3<<4)/*LCDCLK*/ | (3<<6)/*LCDFP*/ | (3<<8)/*LCDM*/ | (3<<10)/*LCDLP*/
              |(3<<12)/*LCDVD[0]*/ | (3<<14)/*LCDVD[1]*/ | (3<<16)/*LCDVD[2]*/ | (3<<18)/*LCDVD[3]*/);

    LCD_CFG = 19;// HCLK div 19+1 = 3.456 MHz ( with PCD = 1+2 = 3 refresh 60hz)


    LCD_TIMH = ( (0<<24/*HBP*/) | (0<<16/*HFP*/) | (0<<8/*HSW*/)
               | ((320/16-1)<<2/*PPL*/));                         //(320/4)pixles + (0+1)bp + (0+1)fp + (0+1)sw = 83clks per line
    LCD_TIMV = ( (0<<24/*VBP*/) | (0<<16/*VFP*/) | (0<<10/*VSW*/)
               | (239   /*240-1*/  <<0   /*LPP*/   ) );                //240lines + 0vp + 0fp + 0bp = 240ln_clks
    LCD_POL = ( (0<<26)     /* Bypass pixel clock div*/     | (((320/4)-1)<<16    /*clocks per line*/    )
              | (0<<11      IVS*/   ) | (0<<12     /*IHS*/  )  | (1<<13      /*IPC 1-data load on falling edge*/  )
                        | (1<<0    /*PCD 1+2 = 3*/        ));
    LCD_CTRL = ( (0<<6)                //LcdMono8 - set 4bit interface
                         | (0<<5)        //LcdTft   - //0 - set STN use greyScaler
                         | (1<<4)0;    //LcdBW    - set STN LCD is Monochrome
    LCD_CTRL &= ~( (1<<7)//0-single panel
                |(1<<6)//LcdMono8 - 0 - set 4bit interface
                |(7<<1));//000 - BPP    - use 1 bit per pixel

    LCD_UPBASE = STATIC_RAM_BASE;//0x80000000;
    LCD_LPBASE = STATIC_RAM_BASE;//0x80000000;

    LCD_CTRL |= 1;             //set LcdEn bit
    LCD_CTRL |= (1<<11);   //set LcdPwr bit


Сообщение отредактировал Rostic - Jul 30 2010, 07:17
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016