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

 
 
> Инициализация LCD, Возможно ли повторно инициализировать LCD в работающей программе?
IF_P
сообщение Feb 12 2008, 20:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 2-01-06
Пользователь №: 12 772



Контроллер на 51 процессоре. Использую LCD Bolymin BC-2004 или аналог МТС-S20400. Иногда происходит сбой LCD ("абракодабра").Восстановление информации только после Reset CPU. Пробовал в программе ввести повторную инициализацию LCD. Получил две черных строчки на экране. Если при старте программы два раза подряд вызвать программу Lcdinit получается аналогичная ситуация. Кто что может посоветовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Feb 12 2008, 22:32
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата
Возможно ли повторно инициализировать LCD в работающей программе?

Не только возможно, но и ИМХО, необходимо делать это периодически. Правда при этом наблюдается легкое подмигивание, если применяется 4-х разрядная шина, но это можно объявить фичей smile.gif

У различных контроллеров ЖКИ эта процедура может слегка отличаться, в основном по временнЫм параметрам. Я на такое нарывался, когда при смене типа или производителя ЖКИ переставала нормально работать программная инициализация. Приходилось искать "улучшенный" алгоритм.
А то, что у ЖКИ модулей могут слетать настройки - так это общеизвестно.
Единственный контр.сигнал - BUSY может нормально выдаваться, а отображения на ЖКИ может не быть!
Считать настройки из модуля для проверки нельзя, поэтому приходится периодически его переинициализировать на ходу. Я это обычно делаю каждые 5-10 секунд.
Можно делать и реже, но за 5 минут, как показывает практика, ближайшие customers уже успевают добежать до телефона и позвонить со словами: "ВАШ ПРИБОР СЛОМАЛСЯ!!!"

to rezident: "защелкивания" LCD ни разу не наблюдал, так что в необходимости ключа на питание сильно сомневаюсь. Насчет того, что бывают случаи, когда модуль нельзя вывести из зависа программно - сомнительно, хотя отрицать такую возможность не буду. Но мне такие ЖКИ не попадались.

Отладку процедур инициализации я обычно провожу так - выдираю и вставляю кабель ЖКИ (или сам модуль) прямо под питанием, на ходу. Восстановление работоспособности модуля должно происходить через 5-10 сек, при вызове прогр. переинициализации. А иначе грош цена такой программе!
Go to the top of the page
 
+Quote Post
IF_P
сообщение Feb 12 2008, 23:05
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 2-01-06
Пользователь №: 12 772



Цитата(Baser @ Feb 13 2008, 00:32) *
Не только возможно, но и ИМХО, необходимо делать это периодически.


Я тоже к этому пришел.

Но получается, что lcdinit() нормально работает только один раз (вначале), а при повторном вызове сбивает настройки LCD. Что это? Плохо написана программа инициализации?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:54
Рейтинг@Mail.ru


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