Вот тут
http://www.cqham.ru/forum/showthread.php?t=9688 лежит проект, в котором я победил проблемы WEH02002. Файл HD44780.C
НА мой взгляд, проблема вот в чём:
При подключени по 4-м битам надо обеспечить корректное переключение в 4 бита и после включения питания (легко) и после ресета процессора (делается трюком из трёх команд, которые переводят в 8 бит, потом обратно в 4).
Так вот - этот трюк с WEH* (с его контроллером) не проходит, так как в ранее игнорировавшихся битах младшего байта команды теперь другая информация. Как я с этим разобрался - смотрите в исходник. Коротко - по 4-х битному интерфейсу устанавливаю позицию курсора, а потом считываю её (ненулевая и с разными старшим/младшим нибблами). Если считалось - индикатор в 4-х битном режиме и ничего делать не надо. Если не считалось - инициализируем.
Правда, есть ещё состояния, когда процессор сбросили в момент чтения первого из двух нибблов статуса - но это я не проверял (да и иделаьнее решить ключём в питании индикатора).
Или перейти на SPI интерфейс - с WEH это можно сделать.
http://www.cqham.ru/forum/showthread.php?t=18954
Сообщение отредактировал Genadi Zawidowski - Dec 15 2011, 17:32