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

 
 
> Работа с ЖКИ PG-12864., Считывается не то, что ожидается.
Oleg_IT
сообщение Mar 4 2009, 18:22
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



До сегодняшнего дня с этим ЖКИ работал через оперативную память (МК AVR), создавал картинку в ОЗУ, рисовал в неё и выводил на экран. В текущем проекте перестало хватать памяти, переходить на большей проц не хочу. Стал работать сразу в память ЖКИ. Код использую из примера. При выводе точки сначала считывается значение байта с того места куда нужно поставить точку, затем на этот байт накладывается маска и записывается обратно в память ЖКИ. Но считывается с пустого экрана 0xFF. И после записи получается полоса. Почему может не правильно читаться данные из ЖКИ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Oleg_IT
сообщение Mar 5 2009, 09:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Посмотрел. Свободно только одно посадочное место под резистор, стоят два конденсатора. Ещё на плате моего ЖКИ стоит инвертор.
Поэкспериментировал с задержками, ожиданием готовности, не помогает. И похоже контроллёр вообще не отвечает, считывается то что записываю в порт (подключён или не подключён подтягивающий резистор).
Go to the top of the page
 
+Quote Post
rv3bj
сообщение Apr 6 2009, 13:09
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 15-12-05
Из: Москва
Пользователь №: 12 265



Цитата(Oleg_IT @ Mar 5 2009, 13:11) *
И похоже контроллёр вообще не отвечает, считывается то что записываю в порт (подключён или не подключён подтягивающий резистор).

У меня была похожая ситуация. В моем LCD стоит контроллер S1D13700. Так вот перед считыванием данных из него обязательно надо перевести линию CMD/DATA (в моем случае A0) в положение CMD.
Ниже приведен пример моей функции чтения байта из экранной памяти.


u8 LCD_READ(void) {
u8 val;
LCD_A0_cmd(); // A0 must be = 1 when read data or cursor position from display
LCD_port_data_in();
LCD_WR_set();
LCD_CS_reset();
LCD_RD_reset();

Delay_10_nops();

FIO4MASK0 = 0;
val = FIO4PIN0;

LCD_RD_set();
LCD_CS_set();
LCD_port_data_out();
return val;
}
Go to the top of the page
 
+Quote Post



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

 


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


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