|
Управление ЖКИ, управление контроллером SPFD5408 |
|
|
|
Jun 5 2008, 11:07
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 3-05-08
Из: Minsk
Пользователь №: 37 240

|
привет всем! Люди добрые помогите кто чем может. Есть ЖКИ с контроллером SPDF5408. В даташите контроллера нашел таблицу кода инициализации, запрограммировал, В результате после инициализации на экране появляется шум. Вроде значить система работает ( были подозрения, что сжег). Но никак не могу точку или последовательность точек вывести. Загоняю данные в память ЖКИ через регистр R22h, а этот гребанный ЖКИ нифига не отображает. Уже третий день на месте стою, может кто подскажет куда копать. ARM LPC2468. Плату под него сами разрабатывали.
|
|
|
|
|
 |
Ответов
|
Feb 3 2009, 08:03
|
Частый гость
 
Группа: Участник
Сообщений: 105
Регистрация: 25-07-05
Пользователь №: 7 079

|
Извини было много работы, некогда было отписаться. Есть несколько вопросов: 1. Где настройка PLL, скорости памяти и тд.?(Надеюсь вынесено в low_level_init) 2. #define BUFFER_ADDR 0xA0000000 это хорошо, но как ты собираешся формировать там изображение. Тебе нужно выделить массив размером 240*320*2 байт, а точнее два таких массива. Пока из одного будет выводится картинка, ты во второй пишеш новую, а потом меняеш указатель из какого масива выводить. 3. Для чего задержки for(i=0;i<50000;i++);
А по поводу вывода на экран нет ничего проще! Отведите 307200(0x4B000) байт видеопамяти начая с адреса 0xA0000000 и разбейте на две части размером 320*240*2 байт, тоесть столько сколько необходимо на один экран. Далее используя Next base address update interrupt(введи в поиске по usermanual на LPC2478), подсовываеш ему то 0xA0000000, то 0xA0025800 в регистр LCD_UPBASE. А сам в это время в другой части буфера формируй изображение.
Если совсем просто, выведи статическую картинку, выдели в рам массив unsigned short LCD_Frame[76800] забей его чем нибуть осмысленным, и передай на вывод LCD контроллеру в LPC : LCD_UPBASE = &LCD_Frame[0];
Далее микроконтроллер сам выплюнет всё в экран.
Сообщение отредактировал kovz - Feb 3 2009, 08:04
|
|
|
|
|
Aug 11 2009, 02:25
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 9-07-05
Пользователь №: 6 656

|
Цитата(kovz @ Feb 3 2009, 12:03)  Извини было много работы, некогда было отписаться. Есть несколько вопросов: 1. Где настройка PLL, скорости памяти и тд.?(Надеюсь вынесено в low_level_init) 2. #define BUFFER_ADDR 0xA0000000 это хорошо, но как ты собираешся формировать там изображение. Тебе нужно выделить массив размером 240*320*2 байт, а точнее два таких массива. Пока из одного будет выводится картинка, ты во второй пишеш новую, а потом меняеш указатель из какого масива выводить. 3. Для чего задержки for(i=0;i<50000;i++);
А по поводу вывода на экран нет ничего проще! Отведите 307200(0x4B000) байт видеопамяти начая с адреса 0xA0000000 и разбейте на две части размером 320*240*2 байт, тоесть столько сколько необходимо на один экран. Далее используя Next base address update interrupt(введи в поиске по usermanual на LPC2478), подсовываеш ему то 0xA0000000, то 0xA0025800 в регистр LCD_UPBASE. А сам в это время в другой части буфера формируй изображение.
Если совсем просто, выведи статическую картинку, выдели в рам массив unsigned short LCD_Frame[76800] забей его чем нибуть осмысленным, и передай на вывод LCD контроллеру в LPC : LCD_UPBASE = &LCD_Frame[0];
Далее микроконтроллер сам выплюнет всё в экран. А можно ли использовать LCD_LPBASE в режиме TFT ?Установив LCD_CTRL_bit.LcdDual=1; для автоматического переключения страниц?
|
|
|
|
Сообщений в этой теме
Anatoly_P Управление ЖКИ Jun 5 2008, 11:07 Liderr Цитата(Anatoly_P @ Jun 5 2008, 14:07) при... Jan 24 2009, 20:54 rezident Liderr, обращаю ваше внимание, что Anatoly_P разме... Jan 24 2009, 21:43 at90 Liderr, а экран от оригинальной N95 или от китайск... Jan 25 2009, 10:18 Anatrulij Здраствуйте. Щас разбираюсь с понелью G057QN01 V0.... Jan 28 2009, 08:49 kovz Цитата(Anatrulij @ Jan 28 2009, 10:49) Зд... Jan 28 2009, 09:12  Anatrulij Цитата(kovz @ Jan 28 2009, 12:12) в инете... Jan 28 2009, 09:35   kovz Цитата(Anatrulij @ Jan 28 2009, 11:35) Я ... Jan 28 2009, 09:41    Anatrulij Цитата(kovz @ Jan 28 2009, 12:41) нет при... Jan 28 2009, 09:58     kovz Цитата(Anatrulij @ Jan 28 2009, 11:58) Да... Jan 28 2009, 10:36      Anatrulij Цитата(kovz @ Jan 28 2009, 13:36) да в эт... Jan 28 2009, 11:16       kovz Цитата(Anatrulij @ Jan 28 2009, 13:16) Бу... Jan 29 2009, 09:44        Anatrulij Цитата(kovz @ Jan 29 2009, 12:44) Если бу... Jan 29 2009, 11:53        Anatrulij Цитата(kovz @ Jan 29 2009, 12:44) Если бу... Jan 29 2009, 13:42 Anatrulij Цитата(kovz @ Feb 3 2009, 12:03) Извини б... Feb 3 2009, 17:48  kovz Цитата(Anatrulij @ Feb 3 2009, 19:48) Как... Feb 4 2009, 13:00   Anatrulij Цитата(kovz @ Feb 4 2009, 17:00) Опиши чт... Feb 5 2009, 06:07    kovz Цитата(Anatrulij @ Feb 5 2009, 08:07) Уже... Feb 5 2009, 13:18     Anatrulij Цитата(kovz @ Feb 5 2009, 17:18) Тут не п... Feb 5 2009, 14:44      Wano Цитата(Anatrulij @ Feb 5 2009, 16:44) Да,... Feb 5 2009, 21:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|