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