Заголовок сообщения: Помогите с кодом на си для AVR (Atmega8)
Добавлено: Вт ноя 29, 2022 19:59:20
Встал на лапы
Зарегистрирован: Вс мар 27, 2022 09:38:17 Сообщений: 115
Рейтинг сообщения:0
Добрый вечер всем кто тут! Мужики помогите пожалуйста с кодом. Хочу научить дисплей LCD1602A выводить наши буквы. Уже 3 дня не получается с написанием функции для записи в CGRAM. А потом вывода из неё результата. Если с латиницей всё хорошо идёт то с нашим ну блин беда. Прям упёрся в стену и всё! Помогите кто знает как это делается. Просто у кого есть время кто решал такие задачки и если не тяжело. Спасибо!
Модель дисплея в Протеусе может без проблем выводить "наши" буквы так же как и "ненаши". Откройте документацию на дисплей и посмотрите таблицу символов, вот они: а таблица перекодировки из ANSI вот такая:
Хочу научить дисплей LCD1602A выводить наши буквы.
Покупаешь дисплей МЕЛТ или WINSTAR и не надо выносить себе мозг… к тому же 8 пользовательских символов (это максимум что можно записать) не позволят полноценно "писать" на кириллице…
Последний раз редактировалось VNS Вт ноя 29, 2022 22:30:07, всего редактировалось 1 раз.
Почему 8? Перед печатью загрузите недостающий символ и отобразите его. Потом другой и так далее. Максимум - да, их 8 . Но замените уже изображенные. Можно все, можно много. Даже можете рисовать псевдо-графики, а также псевдо-фигуры. Правда - медленнее, но куда мы торопимся... Печать на LCD концептуально медленная операция - статичных текстов больше.
Последний раз редактировалось veso74 Вт ноя 29, 2022 22:35:47, всего редактировалось 1 раз.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Максимальное количество вместе - да, 8, но ... вставляете новый символ, печатаете, вставляете на его место другой, печатаете ... до бесконечности, много символов.
но ... вставляете новый символ, печатаете, вставляете на его место другой, печатаете ... до бесконечности, много символов.
Предлагаете каждый раз перед выводом текста записывать новые символы? Это же мазохизм… и так порой вывод надписей порой занимает много места в программе при больших меню, а если ещё и это делать, так вообще… хотя кто на что горазд… можно и так если скучно…
Только новые символы в знако-генераторе, конечно же. И псевдо-графики. Согласно приложению. Памяти совсем немного занимает, и в PIC собираются, и в ATmega, и в "бедных" ATtiny.
Последний раз редактировалось veso74 Вт ноя 29, 2022 23:06:33, всего редактировалось 1 раз.
Если использовать заглавные и прописные буквы, то придётся прописывать в итоге 47 символов… из своего непрофессионального опыта, это достаточно много… возможно у профессионалов это занимает мало места… спорить не стану… лично у меня при выводе много текста, программы становятся большими, а если использовать что-то подобное, то вообще выйдет за гранью…
Последний раз редактировалось VNS Вт ноя 29, 2022 23:09:40, всего редактировалось 1 раз.
Дело не в скорости вывода символов, а в увеличении программы при наличии расширенного меню, в котором будет много текста… В общим я не утверждаю, что так у всех… но у меня происходит именно так… и если планируется обширное меню, то я выбираю дисплей с кириллицей, а не танцы с бубном… в общим каждый выбирает своё…
А что страшного в том, чтобы шрифты во флеш-памяти МК хранить? Один шрифт в знакоместо 16х16 пикселей займет 33кБ (32кБ - данные + 1Б - ширина символа). Все 256 символов никому не нужны обычно, хватит нескольких знаков препинания, латинницы и кириллицы. Ну и зачастую хватит только верхнего регистра, получаем (26+10+33+30)*33=3267Б + 256Б на таблицу перекодировки. Итого: 3523Б. Т.е. в 4кБ можно вполне уложиться. Когда на МК от 16кБ флеша и больше, вообще 0 проблем на шрифт немного потратить.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Оффтоп: Вы отправляете литературное эссе каждый день в LCD1602? Мне не приходилось.
Нет, зачем же… а вот ради интереса сможете на практике показать в виде прошивки для тини24 – вывод заглавных и прописных букв кириллицы в определённом порядке? Я бы составил ТЗ на такой случай, которое бы в моём исполнении ушло примерно 90% памяти МК… а вот интересно с Вашим подходом сколько уйдёт? И влезет ли вообще в данный МК… если откажитесь так как некогда заниматься ерундой, то я пойму… так что скажете?
ЗЫ у меня есть китаец 1602 с таким модулем (PCF8574)... Спойлер Хорошо бы его задействовать для проверки...
Максимальное количество вместе - да, 8, но ... вставляете новый символ, печатаете, вставляете на его место другой, печатаете ... до бесконечности, много символов.
а вы сами так делали, или теоретизируете? насколько я знаю, как только вы обновили символ с кодом, предположим, 0х01, то на дисплее все позиции с этим кодом будут показывать обновленный символ, так что "до бесконечности" не выйдет - максимум 8 разных одновременно
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Заголовок сообщения: Re: Помогите с кодом на си для AVR (Atmega8)
Добавлено: Ср ноя 30, 2022 11:37:43
Встал на лапы
Зарегистрирован: Вс мар 27, 2022 09:38:17 Сообщений: 115
Рейтинг сообщения:0
Мужики. Давайте я скину библиотеку свою ( что я использую ) вы посмотрите её и может быть подскажете как мне в ней добавить функцию записи в CGRAM и вывода оттуда?
Вроде ведь в этих экранах нет 2го кеша... т.е. если какой-то символ на экране взят из перезаписываемой области, то при перезаписи этой области он тоже изменится, даже если его не обновляли и из-за этого на экран не вывести более 8 различных не имеющихся в основной памяти символа... Это сильно усложняет и без того нелегкую с ним работу по выводу графики и нестандартных символов. Вроде так? Поправьте, если не прав...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Да, Вы прав. Я неправильно понял (РУ-БГ). Максимум 8 НОВЫЕ символы одновременно в 32 символа на LCD1602. Однако это могут быть все буквы, если не перекрываются одновременно. А вот с тем, что на маленьком дисплее часто надписи в сокращенной форме, использование возможно без конфликтов. Лично избегаю кириллицы.
Так можно взять нормальный SPI'ный (а то и с параллельной шиной) экранчик, да гонять буфер. И шрифты будут свои — какие хочешь. А на МК с DMA вообще камень практически напрягать не нужно будет, чтобы экран обновить.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Сейчас этот форум просматривают: Bing [Bot] и гости: 52
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения