Подправил библиотеку для LCD, теперь она поддерживает контроллеры ks0066 и hd44780. Фишка в чем. Библиотека для hd44780 может работать и с ks0066, а вот библиотека для ks0066 с контроллером hitachi уже не работает. У этих контроллеров есть некоторое отличие в инициализации при использовании 4-ех разрядной шины. Вообщем я добавил несколько строк кода и заключил их в директивы условной компиляции, чтобы можно было выбирать тип контроллера. Код для hitachi чуть "потолще", а если будет использоваться контроллер ks0066 зачем нам лишние 40 байт кода.
Библиотека работает с 8-ми и 4-ех разрядной шиной, поддерживает опрос флага занятости, работает с контроллерами ks0066 и hd44780. Нужная конфигурация устанавливается с помощью макроопределений.
....lcd-lib.h
Библиотека работает с 8-ми и 4-ех разрядной шиной, поддерживает опрос флага занятости, работает с контроллерами ks0066 и hd44780. Нужная конфигурация устанавливается с помощью макроопределений.
....lcd-lib.h
#define CHECK_FLAG_BF //закомментируй чтобы использовалась программная задержка
#define BUS_4BIT //закомментируй для 8-ми разрядной шины
#define HD44780 //закомментируй для контроллера ks0066
....
....