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

 
 
> ILI9325 и ATsam4s32c, чего дальше
Грендайзер
сообщение Mar 3 2015, 05:56
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



Здравствуйте, всем доброго времени суток. Относительно недавно начал разбираться с ARM'ами на примере контроллера Atsam4sd32c, который, в свою очередь установлен на отладочной плате sam4s-ek2. Так же на плате установлен LCD дисплей с контроллером ILI9325. Сам по себе дисплей не нужен, но в процессе работы с платой периодически необходимо отображать всякие всячины, но вот опыта работы с дисплеями - чуть меньше чем нисколько... короче затык. Прошу помочь со следующими вопросами:
1) Для управления используется 8-ми битный интерфейс, который выбирается установкой сигналов IM3...IM0. На плате, подключены лишь 2 IM1 и IM0. При том IM1 = 0 а IM0 = 1, но в даташите написано, что подобное включение не корректно (Setting invalid). В чём дело?
2) На просторах нета нашёл аппноут ILI9325AN_V0.22 в коем написано, что перед началом инициализации необходимо, подёргать ножкой nRESET
Код
//************* Reset LCD Driver ****************//
LCD_nRESET = 1;
delayms(1); // Delay 1ms
LCD_nRESET = 0;
delayms(10); // Delay 10ms // This delay time is necessary
LCD_nRESET = 1;
delayms(50); // Delay 50 ms

однако у меня на плате, нога nRESET соединена с ногой nRESET контроллера... Данная микросхема может управлять своей ножкой nRESET или как тогда дисплей инициализировать?
3) Написал код инициализации в соответствии с аппноутом (без дёргания ресетом):
CODE
WDT -> WDT_MR = WDT_MR_WDDIS; // disable Watchdog Timer
pmc_enable_periph_clk(ID_PIOC); // enable clk PIOC

PIOC -> PIO_PER = PIO_PC0|PIO_PC1|PIO_PC2|PIO_PC3|PIO_PC4|PIO_PC5|PIO_PC6|PIO_PC7|PIO_PC8|PIO_PC11
|
PIO_PC13|PIO_PC15|PIO_PC19;
PIOC -> PIO_OER = PIO_PC0|PIO_PC1|PIO_PC2|PIO_PC3|PIO_PC4|PIO_PC5|PIO_PC6|PIO_PC7|PIO_PC8|PIO_PC11
|
PIO_PC13|PIO_PC15|PIO_PC19;
PIOC -> PIO_SODR = PIO_PC0|PIO_PC1|PIO_PC2|PIO_PC3|PIO_PC4|PIO_PC5|PIO_PC6|PIO_PC7|PIO_PC8|PIO_PC11
|
PIO_PC13|PIO_PC15|PIO_PC19;

syst_int_8_bit_write(0x00E3, 0x3008);
syst_int_8_bit_write(0x00E7, 0x0012);
syst_int_8_bit_write(0x00EF, 0x1231);
syst_int_8_bit_write(0x0001, 0x0100);
syst_int_8_bit_write(0x0002, 0x0700);
syst_int_8_bit_write(0x0003, 0x1030);
syst_int_8_bit_write(0x0004, 0x0000);
syst_int_8_bit_write(0x0008, 0x0207);
syst_int_8_bit_write(0x0009, 0x0000);
syst_int_8_bit_write(0x000A, 0x0000);
syst_int_8_bit_write(0x000C, 0x0000);
syst_int_8_bit_write(0x000D, 0x0000);
syst_int_8_bit_write(0x000F, 0x0000);
//*************Power On sequence ****************/
syst_int_8_bit_write(0x0010, 0x0000);
syst_int_8_bit_write(0x0011, 0x0007);
syst_int_8_bit_write(0x0012, 0x0000);
syst_int_8_bit_write(0x0013, 0x0000);
delay_ms(201);
syst_int_8_bit_write(0x0010, 0x1290);
syst_int_8_bit_write(0x0011, 0x0227);
delay_ms(51);
syst_int_8_bit_write(0x0012, 0x001A);
delay_ms(51);
syst_int_8_bit_write(0x0013, 0x1800);
syst_int_8_bit_write(0x0029, 0x0028);
syst_int_8_bit_write(0x002B, 0x000C);
delay_ms(51);
syst_int_8_bit_write(0x0020, 0x0000);
syst_int_8_bit_write(0x0021, 0x0000);
// ----------- Adjust the Gamma Curve ----------//
syst_int_8_bit_write(0x0030, 0x0000);
syst_int_8_bit_write(0x0031, 0x0305);
syst_int_8_bit_write(0x0032, 0x0003);
syst_int_8_bit_write(0x0035, 0x0304);
syst_int_8_bit_write(0x0036, 0x000F);
syst_int_8_bit_write(0x0037, 0x0407);
syst_int_8_bit_write(0x0038, 0x0204);
syst_int_8_bit_write(0x0039, 0x0707);
syst_int_8_bit_write(0x003C, 0x0403);
syst_int_8_bit_write(0x003D, 0x1604);
//------------------ Set GRAM area ---------------//
syst_int_8_bit_write(0x0050, 0x0000);
syst_int_8_bit_write(0x0051, 0x00EF);
syst_int_8_bit_write(0x0052, 0x0000);
syst_int_8_bit_write(0x0053, 0x013F);
syst_int_8_bit_write(0x0060, 0xA700);
syst_int_8_bit_write(0x0061, 0x0001);
syst_int_8_bit_write(0x006A, 0x0000);
//-------------- Partial Display Control ---------//
syst_int_8_bit_write(0x0080, 0x0000);
syst_int_8_bit_write(0x0081, 0x0000);
syst_int_8_bit_write(0x0082, 0x0000);
syst_int_8_bit_write(0x0083, 0x0000);
syst_int_8_bit_write(0x0084, 0x0000);
syst_int_8_bit_write(0x0085, 0x0000);
//-------------- Panel Control -------------------//
syst_int_8_bit_write(0x0090, 0x0010);
syst_int_8_bit_write(0x0092, 0x0600);
syst_int_8_bit_write(0x0007, 0x0133);

Но что дальше делать? Ну как что нибудь нарисовать? Я так понял надо загнать в память дисплея координаты пикселя, т.е.
Код
syst_int_8_bit_write(0x20, 100);
syst_int_8_bit_write(0x21, 100);
syst_int_8_bit_write(0x22, 100);


но ничего не отобразилось... Курение даташита на ILI9325 пока ответа не даёт. Заранее спасибо за помощь.

Сообщение отредактировал IgorKossak - Mar 3 2015, 15:42
Причина редактирования: [codebox] для длинного кода, [code] - для короткого
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Грендайзер   ILI9325 и ATsam4s32c   Mar 3 2015, 05:56
- - DmitryM   Цитата(Грендайзер @ Mar 3 2015, 08:56) од...   Mar 3 2015, 08:32
- - Obam   На правильно включившемся дисплее, но с неочищенно...   Mar 3 2015, 09:26
- - Грендайзер   ЦитатаnRESET bi-directional. RSTC->RSTC_CR = (R...   Mar 3 2015, 10:45
- - Obam   Фигня это. Дисплей не проинициализирован. Кстати, ...   Mar 3 2015, 12:09
- - Грендайзер   ЦитатаbyteL = reg_data; byteH = reg_data >> ...   Mar 3 2015, 12:58
|- - Obam   Цитата(Грендайзер @ Mar 3 2015, 16:58) Эт...   Mar 3 2015, 13:35
- - Грендайзер   ЦитатаВообще имелось в виду другое: на входе uint3...   Mar 3 2015, 14:46
- - Грендайзер   Снова здравствуйте. Никак не пойму, что там этому ...   Mar 4 2015, 07:32
|- - DmitryM   Цитата(Грендайзер @ Mar 4 2015, 10:32) Сн...   Mar 4 2015, 08:05
|- - Obam   Цитата(Грендайзер @ Mar 4 2015, 11:32) Сн...   Mar 4 2015, 08:26
- - Грендайзер   DmitryM, не сумел сам толком разобраться. Большое ...   Mar 4 2015, 08:44
- - Obam   Не томите уже, заводите ЖКИ   Mar 4 2015, 08:51
- - Грендайзер   Всё, я пас. Сделал всё как вот здесь написано http...   Mar 5 2015, 09:52
|- - Obam   Цитата(Грендайзер @ Mar 5 2015, 13:52) Вс...   Mar 5 2015, 11:07
- - Грендайзер   Дисплей рабочий. Я включал его при помощи примера,...   Mar 5 2015, 12:17
- - Obam   Зачем тень на плетень наводите?! "…резуль...   Mar 5 2015, 12:58
- - Грендайзер   Ясно, спасибо за помощь, ещё чуток поэксперементир...   Mar 5 2015, 13:14


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

 


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


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