Я уже давно набросал основной код для работы с этим экранчиком и даже составил шрифт для любимой кодировки, но никак руки не доходили это собрать воедино. Вот, за вчерашний вечер и сегодняшний день соединил.
Видео на тытрубе:
Click to view
Как обычно, код в репозитории
STM8_samples.
Пока что реализован только текстовый интерфейс: все (кроме командных символов), что печатается в терминале, отображается на экране LCD. Каждый раз, как строка на экранчике переносится, в терминале тоже отображается '\n'.
Шрифт содержит полную таблицу символов КОИ8-Р. Пока что есть проблемы с отсылкой спецсимволов в терминал, но, наверное, не стоит заморачиваться, т.к. такой функционал, как просто отображение на экранчике текста с терминала, не интересен.
Еще надо будет протестировать графику и добавить пару алгоритмов Брезенхема (для линий и для окружностей).
Кроме того, при необходимости можно будет "кастрировать" библиотечку под STM8S003 и другие мелкоконтроллеры, не имеющие достаточно оперативки (под один только экранный буфер нужно иметь 504Б ОЗУ). Но в этом случае, понятно, сдвигать строчки вверх не получится: только полностью очищать экран после заполнения (если, конечно, у контроллера PCD8544 не появилась возможность прокручивать изображение своими силами).
Следующий шаг - тестирование этой библиотечки для STM32. Потом еще попробую прикрутить экранчик с тачскрином - это мало того, что интересно, так еще и поможет разрабатывать интерактивные железяки, для операций с которыми не придется искать компьютер. К тому же IRBIS'у можно будет прикрутить сенсорный экран, чтобы в лабораторных условиях при всяких юстировках обойтись без подключения к компьютеру. Еще один плюс - отображение температуры узлов (скажем, начнет мигать, если температура на светоприемнике начала расти, или если стало подниматься давление в криостате).
P.S. Кстати, опять сегодня убил несколько часов в непонятках: экранчик никак не хотел отзываться. Пришлось разобрать. Оказалось, что контактирует с платой он посредством резиновой прокладки с проводниками. И металлический корпус был установлен криво, поэтому дорожки замыкали. Благо, не сгорел мелкоконтроллер. Вот поэтому-то экранчик на видео обмотан скотчем. О, чудеса китайского ардуиноклепательства!