Даже по маркировке можно предположить, что это аналог ks0108, так что не в этом проблема. Да и в целом символы-то выводятся.
Посмотрите на всякий случай приложенную тестовую прошивку (просто для проверки дисплея).
Ну и из одного из
предыдущих постов. И из более ранних, там была другая система инициализации контроллера.
Кстати, при непрошитом контроллере (или просто при подключении дисплея в разъём "на горячую", без инициализации, что-нибудь на дисплее появляется? (Экран должен быть пуст, пока дисплей не инициализирован).
P.S. Не знаю, насколько Вы разбираетесь в программировании. Или вообще не разбираетесь. Но в любом случае попробуйте скомпилировать проект сами. Для этого (я предположу, что у Вас windows):
1. Скачайте исходники с
googlecode (Там где Download
zip).
2. Распакуйте их куда-нибудь, например, на диск C:
3. В файле Makefile удалите или закомментируйте строку
CS = -fexec-charset=ks0066-ru, так как в windows нет iconv.
4. Установите компилятор avr-gcc. Для windows это WinAVR, скачать можно с
оф. сайта. При установке не снимайте галочку
Add directories to PATH.
5. В консоли (Сочетание Win+R -> cmd) зайдите в каталог с проектом:
6. Скомпилируйте проект командой
make. В каталоге обновятся hex-файлы прошивки.
Если это получится, попробуйте теперь поэкспериментировать с исходниками. В файле ks0108.c, функциях writeStrob(), readStrob(), gdWriteCommand(), gdWriteData() попробуйте увеличить/добавить задержки: - больше команд
asm("nop");, или в разных местах вызовы
вроде _delay_us(5);.
Есть вероятность, что по какой-то причине дисплей некорректно отрабатывает тайминги. Вот и поэкспериментируйте с ними.
Попробуйте, например, вместо
waitWhile(KS0108_STA_BUSY); повставлять что-то вроде
_delay_us(20);. Это на случай, если вдруг дисплей некорректно сообщает о готовности принять следующую команду, тогда как он ещё по факту не готов это сделать.
Отредактированный код компилируйте той же командой make. Если будут ошибки синтаксиса (где-то точку с запятой забыли, или ещё чего), компилятор выдаст ошибку и номер строки с ней.
Кстати, если в Makefile прописать ваш программатор (переменные AD_PROG, AD_PORT в Makefile), то тут же можно будет и прошивать, командой
make flash_a.
Если что-то получится, или не получится, сообщайте сюда.
У меня на трёх дисплеях двух разных типах (не считая отдельной прошивки для символьных дисплеев) всё работает,
а чинить и так работающее я не умею

. Да и у других котов здесь тоже вроде пока работало.