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

 
 
 
Reply to this topicStart new topic
> Работа с ЖКИ 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
rezident
сообщение Mar 4 2009, 23:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Если в части обмена с LCD вы ничего не меняли, то проверьте визуально установлены ли все блокировочные конденсаторы на печатной плате модуля? Недавно наши партнеры столкнулись с тем, что давно используемые и нами и ими модули LCD PG-12864LRS (полную маркировку сейчас не вспомню) в старых приборах стали глючить. Причем только в старых давно выпускаемых приборах. Оказалось, что китайцы сэкономили несколько центов и не установили ни одного! блокировочного конденсатора на плате LCD модуля (контроллеры на нем в виде безкорпусных м/с, распаянных на плате и залитых черным компаундом, т.н. "кляксы"). В старых приборах запись была программная побайтовая с проверкой флага готовности после каждой записи. В новых - без проверки, просто использовалась необходимая по длительности пауза между записями, на запись работал автомат вывода из блочной памяти FPGA. Все модули были из одной партии, но на старых приборах глючили (иногда выдавали артефакты изображения), на новых приборах таких проблем не было.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Mar 5 2009, 09:11
Сообщение #3


Знающий
****

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



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


Участник
*

Группа: Участник
Сообщений: 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 Текстовая версия Сейчас: 4th July 2025 - 23:26
Рейтинг@Mail.ru


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