Pull to refresh

Comments 12

Думал как-то в сторону руссификации этого дисплея. Мне пришла только в голову идея пожертвовать прописными буквами. С заглавными же поступить следующим образом, та часть, что совпадает по написанию с латинским алфавитом, подменять на символы из последнего. Та же часть, что не встречается в знакогенераторе дисплея, записывать ему в память в зависимости от того, какие символы сейчас необходимы. Уж не знаю, на сколько вероятно в двух строках по 16 символов использовать все символы с оригинальном начертанием, но если не планируется выводить какой-то текст из вне, то всякие менюшки можно разрабатывать с учётом такого ограничения.
В итоге до реализации так и не дошёл, т.к. не придумал, зачем мне нужен этот дисплей, да ещё и обязательно с русским языком.
Кстати да! Начертания более десятка заглавных и несколько строчных букв кириллицы можно найти в латинице.
Мне кажется, чуть усложнив код, можно было бы уменьшить мерцание, ибо более чем в половине случаев оставшиеся буквы укладывались бы в 8 символов.
Да, в интернете множество библиотек готовых, которые используют 8 загружаемых символов + похожие начертания, но это выглядит очень отвратительно., если нужны все буквы, и текст может быть любым.
В случае использования такого хака с перерисовкой, выводить можно полностью свой шрифт и даже графику.
Ну графика — допустим.
Но вы же сами жалуетесь на некоторое мерцание.
А здесь — бесплатный способ его уменьшить. Разве нет?
Как вариант да. Вот например готовый ваш способ
Просто мой внутренний перфекционист решил, что мерцание меньшее зло, по сравнению с кривыми символами.
Но я же не предлагаю кривых символов. Я предлагаю совместить подходы!
Например, сейчас, для отрисовки всего дисплея с русскими буквами вам потребуется 4 кадра, а если использовать частично латиницу (только совпадающие буквы, никаких компромиссов!) — вполне вероятно, что можно уместиться в 3, а то и в 2!
Можно пасьянсы раскладывать. Результат примерно такой же — тренировка мозга.
На каком контроллере 25Гц получается?
Если у меня будут обработки других прерываний или блоков непрерываемой обработки будет мигание?
— На любом контроллере. Лишь бы успевал. Конкретно я пробовал на stm32f373/48MHz и ATMEGA328/16MHz. Продукция ST намного удобнее в плане настраиваемого контроллера и вложенных прерываний, да и таймеров побольше.
— Если работа в других прерываниях занимает всё свободное время контроллера, то обязательно увеличится мерцание. Если нужно ещё больше освободить время под другие процессы, и есть контроллер с высокой тактовой частотой, то можно сделать прерывание на каждый фронт синхросигнала E дисплея.

Скажите, у вас на нем глюков в виде задержки после инициализации, перед работой и при очистке дисплея нет?

Очистка дисплея происходит не медленной командой очистки, а записью 0x20(пробела). А глюков с инициализацией никогда не встречал на 44780-подобных. На графических бывало.

У меня просто дисплей от мэлта, и там после инициализации надо 100 миллисекунд где-то выждать, но в даташите об этом ни слова. Я случайно наткнулся… а все библиотеки от ардуино нормально с ним работают, вот и думаю-это глюк или как?


Я имел ввиду команду полной очистки дисплея, мой просто после неё перестаёт отвечать на комманды, приходится переинициализировать каждый раз...

Sign up to leave a comment.

Articles