А вот еще вопрос на засыпку: возможно ли вывести несколько курсоров? Или подчеркнуть строку?
Нет. О таких возможностях не знаю. Аппаратно они не предусмотрены. Моргать символом не обязательно - рядом с выбранным пунктом дорисовывай, например, стрелочку, и пусть она все время горит, пока не выберешь другой пункт.
Хочешь красоту - бери графический дисплей. Геморрою конечно побольше(если пишешь как я - на ассемблере), но зато куча возможностей! Хотя мне уже хочется на цветные TFT перейти Совершенству нет предела!
Выковырнул из какого-то телефона. Распиновка - Gnd, 3v3, RS, E, RW, D7, D6, D5, D4. Т.е. стандартная для HD44780 (только нет управления контрастности) Но как подобраться к двум верхним строчкам - не пойму, хоть убей Да и на нижней строке нулевая позиция - на пятом столбце (см. рис) Есть мысли, как победить его полностью?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Записать что-то подлиннее, в идеале - во всю память (128 ячеек). Есть вероятность, что другие позиции могут соответствовать каким-то из адресов. Также стоит проверить область пользовательских символов -возможно, она тоже как-то отображается на экран.
Последний раз редактировалось WiseLord Чт окт 26, 2017 19:10:01, всего редактировалось 1 раз.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
А мне вот чисто интересно. Один пользовательский символ - это 8 байтов. Получается, что один символ должен отображаться на несколько семисегментных мест. Верно?
А мне вот чисто интересно. Один пользовательский символ - это 8 байтов. Получается, что один символ должен отображаться на несколько семисегментных мест. Верно?
Нет. символ всегда отображается на 1 знакоместо(будь оно из 5х8 точек или из 7 сегментов). как происходит "занятие" - решает контроллер дисплея. Мы же, общаясь с дисплеем, говорим лишь из какого места графической памяти считать этот символ. т.е.8 байт о которых вы говорите - это адрес в памяти. Сам символ описывается большим количеством байт(по идее 8 байт для знакоместа 5х8 точек).
Нет, там мутная схема Пользовательский символ является символом только в пределах стандартного куска памяти, от 0 до 39 когда его загружаешь по адресу 44-47 - это уже не символ, а коды для семисегментных индикаторов. Семь байтов символа, загруженные по адресу 44 отвечают за первые пять семисегментников второй строки, 45 - за вторые пять и т.д. А восьмой байт - за часть сегментов верхней строки. День убил, чтоб методом перебора всё вычислить)
Ну, я как-то так и предполагал. Обычный символ состоит из 40 точек, хотя пользовательский описывается 64-мя точками (8 байтами). Логичнее всего было предположить, что такой пользовательский символ, будучи записан в определённый адрес, "размажется" по нескольким семисегментным цифрам. Технически возможно - по восьми, как на самом деле - уже другое дело.
Feklistov_as: Ваше предположение практически недопустимо. Если бы пользовательский символ (весь, целиком, все его 8 байтов) отображался лишь на один семисегментный разряд, а не на несколько сразу, было бы невозможно, например, вывести все цифры от 0 до 9.
64 байта пользовательских символов могут либо обеспечить до восьми "обычных" знакомест, либо до 64 семисегментников (вкупе с точкой).
Кстати, как я понял, коды 40-43 - это те самые первые три "графических" символа, а уже дальше пошло "размазывание" по сегментам?
Получается, соответствие обычного символа тому, что на экране - что-то вроде этого:
То есть, вместо пяти точек по горизонтали внутри символа мы имеет пять сегментов рядом. Остальные 7 рядов проходятся по другим сегментам. Притом, ряды 0..6 соответствуют сегментам d-e-c-g-f-b-a (снизу вверх справа налево по символу), а ряд 7 затрагивает что-то выше
Именно такая картинка получается, если этот символ отправить в ячейку 0 DDRAM) Ряд 7 затрагивает 5 сегментов выше. В первом случае - трубку, динамик, сегмент b, сегмент c, сегменты a, g, d, e одновременно. В случае с адресом DDRAM 47 чуть по-другому. Там остаётся всего один семисегментник вместо пяти во втором ряду. Поэтому все ряды символа затрагивают что-то выше)
Подскажите, имеет ли значение как вводить в дисплей символы: по порядку двигая курсор последовательно слева направо, или можно в хаотичном порядке ставить курсор куда хочется? Сейчас у меня вывод в совершенно хаотичном порядке, вначале выводится 10 символ второй строки, потом первый первой, потом четвертый второй, и т.д. Работа полностью устраивает, никаких мерцаний и прочих артефактов нет. Но вообще это нормально для дисплея, переделывать не надо?
_________________ Не променяю медь на ржавую несгорайку!
Не зная что вам требуется от готового изделия и насколько быстро нужно обновлять некие знакоместа
Ничего не тербуется - я же говорю, все работает прекрасно. Скорости не нужно. Весь дисплей 1 раз в пол секунды обновляется. Иначе ничего не успеешь увидеть
Вопрос в другом: контроллеру дисплея без разницы в каком порядке выводить символы, или разница есть и оптимизация может быть полезна, например снижением потребления или повышения отказоустойчивости?
Чисто с человеческой точки зрения не всегда удобно писать вывод символов последовательно, например когда есть элементы псевдографики.
_________________ Не променяю медь на ржавую несгорайку!
Лично вам (как автору программы), наверное, удобнее было бы сгруппировать "пакеты знакомест", что бы не не постоянно "долбить команду" выбор адреса. В любом случае, выбор за вами, поскольку только вы видите работу вашего изделия и можете оценить время, затрачиваемое на обновление информации на ЖКИ. ---- P.S. Что касается контроллера дисплея - что вы ему сказали, то он и выполнил (за некоторое время).
Спасибо. Но время в моем случае не имеет значения. Его сколько хочешь. А кроме времени других критериев нет? Ну например дисплей тупо не перегреется если дергать выбор адреса непрерывно то туда то сюда?
_________________ Не променяю медь на ржавую несгорайку!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения