| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Помогите с кодом на си для AVR (Atmega8) https://radiokot.ru/forum/viewtopic.php?f=57&t=185737 |
Страница 1 из 4 |
| Автор: | aleksey chilov [ Вт ноя 29, 2022 19:59:20 ] | |||||
| Заголовок сообщения: | Помогите с кодом на си для AVR (Atmega8) | |||||
Добрый вечер всем кто тут! Мужики помогите пожалуйста с кодом. Хочу научить дисплей LCD1602A выводить наши буквы. Уже 3 дня не получается с написанием функции для записи в CGRAM. А потом вывода из неё результата. Если с латиницей всё хорошо идёт то с нашим ну блин беда. Прям упёрся в стену и всё! Помогите кто знает как это делается. Просто у кого есть время кто решал такие задачки и если не тяжело. Спасибо!
|
||||||
| Автор: | VNS [ Вт ноя 29, 2022 22:26:37 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Хочу научить дисплей LCD1602A выводить наши буквы. Покупаешь дисплей МЕЛТ или WINSTAR и не надо выносить себе мозг… к тому же 8 пользовательских символов (это максимум что можно записать) не позволят полноценно "писать" на кириллице…
|
|
| Автор: | veso74 [ Вт ноя 29, 2022 22:29:01 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Почему 8? Перед печатью загрузите недостающий символ и отобразите его. Потом другой и так далее. Максимум - да, их 8 . Но замените уже изображенные. Можно все, можно много. Даже можете рисовать псевдо-графики, а также псевдо-фигуры. Правда - медленнее, но куда мы торопимся... Печать на LCD концептуально медленная операция - статичных текстов больше. |
|
| Автор: | VNS [ Вт ноя 29, 2022 22:35:32 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Почему 8? Вложение:
|
|
| Автор: | veso74 [ Вт ноя 29, 2022 22:40:36 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Максимальное количество вместе - да, 8, но ... вставляете новый символ, печатаете, вставляете на его место другой, печатаете ... до бесконечности, много символов. |
|
| Автор: | VNS [ Вт ноя 29, 2022 22:43:40 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
но ... вставляете новый символ, печатаете, вставляете на его место другой, печатаете ... до бесконечности, много символов. Предлагаете каждый раз перед выводом текста записывать новые символы? Это же мазохизм… хотя кто на что горазд… можно и так если скучно… |
|
| Автор: | veso74 [ Вт ноя 29, 2022 22:45:31 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Только новые символы в знако-генераторе, конечно же. И псевдо-графики. Согласно приложению. Памяти совсем немного занимает, и в PIC собираются, и в ATmega, и в "бедных" ATtiny. |
|
| Автор: | VNS [ Вт ноя 29, 2022 23:06:13 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Если использовать заглавные и прописные буквы, то придётся прописывать в итоге 47 символов… из своего непрофессионального опыта, это достаточно много… возможно у профессионалов это занимает мало места… спорить не стану… лично у меня при выводе много текста, программы становятся большими, а если использовать что-то подобное, то вообще выйдет за гранью… |
|
| Автор: | veso74 [ Вт ноя 29, 2022 23:08:53 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Оффтоп: Вы отправляете литературное эссе каждый день в LCD1602? Однако вернемся к приложению LCD: вероятно только несколько слов, как параметры какого-то устройства, одно за другим, медленно, статично ... |
|
| Автор: | VNS [ Вт ноя 29, 2022 23:26:07 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Дело не в скорости вывода символов, а в увеличении программы при наличии расширенного меню, в котором будет много текста… В общим я не утверждаю, что так у всех… но у меня происходит именно так…
|
|
| Автор: | Eddy_Em [ Вт ноя 29, 2022 23:31:31 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
А что страшного в том, чтобы шрифты во флеш-памяти МК хранить? Один шрифт в знакоместо 16х16 пикселей займет 33кБ (32кБ - данные + 1Б - ширина символа). Все 256 символов никому не нужны обычно, хватит нескольких знаков препинания, латинницы и кириллицы. Ну и зачастую хватит только верхнего регистра, получаем (26+10+33+30)*33=3267Б + 256Б на таблицу перекодировки. Итого: 3523Б. Т.е. в 4кБ можно вполне уложиться. Когда на МК от 16кБ флеша и больше, вообще 0 проблем на шрифт немного потратить. |
|
| Автор: | VNS [ Ср ноя 30, 2022 01:49:51 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Оффтоп: Вы отправляете литературное эссе каждый день в LCD1602? Нет, зачем же… а вот ради интереса сможете на практике показать в виде прошивки для тини24 – вывод заглавных и прописных букв кириллицы в определённом порядке? Я бы составил ТЗ на такой случай, которое бы в моём исполнении ушло примерно 90% памяти МК… а вот интересно с Вашим подходом сколько уйдёт? И влезет ли вообще в данный МК… если откажитесь так как некогда заниматься ерундой, то я пойму… так что скажете? ЗЫ у меня есть китаец 1602 с таким модулем (PCF8574)... Спойлер![]() Хорошо бы его задействовать для проверки... |
|
| Автор: | OKF [ Ср ноя 30, 2022 04:12:18 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
По моему уже было. https://www.youtube.com/watch?v=pqv48FtHm0E https://www.youtube.com/watch?v=bN-XRXLx88Y |
|
| Автор: | VNS [ Ср ноя 30, 2022 05:24:00 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Дело не в реализации… интересно сколько весит такая реализация? И если значительно много, то возникает вопрос, а зачем? |
|
| Автор: | ARV [ Ср ноя 30, 2022 08:01:14 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Максимальное количество вместе - да, 8, но ... вставляете новый символ, печатаете, вставляете на его место другой, печатаете ... до бесконечности, много символов. а вы сами так делали, или теоретизируете? насколько я знаю, как только вы обновили символ с кодом, предположим, 0х01, то на дисплее все позиции с этим кодом будут показывать обновленный символ, так что "до бесконечности" не выйдет - максимум 8 разных одновременно |
|
| Автор: | aleksey chilov [ Ср ноя 30, 2022 11:37:43 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Мужики. Давайте я скину библиотеку свою ( что я использую ) вы посмотрите её и может быть подскажете как мне в ней добавить функцию записи в CGRAM и вывода оттуда? Добавлено after 2 minutes 47 seconds: https://disk.yandex.ru/d/_GpvOVhqz-JXTA вот ссылка на неё на диске. |
|
| Автор: | Ivanoff-iv [ Ср ноя 30, 2022 12:29:34 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Вроде ведь в этих экранах нет 2го кеша... т.е. если какой-то символ на экране взят из перезаписываемой области, то при перезаписи этой области он тоже изменится, даже если его не обновляли и из-за этого на экран не вывести более 8 различных не имеющихся в основной памяти символа... Это сильно усложняет и без того нелегкую с ним работу по выводу графики и нестандартных символов. Вроде так? Поправьте, если не прав... |
|
| Автор: | veso74 [ Ср ноя 30, 2022 12:47:22 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
... не выйдет - максимум 8 разных одновременно Да, Вы прав. Я неправильно понял (РУ-БГ). Максимум 8 НОВЫЕ символы одновременно в 32 символа на LCD1602. Однако это могут быть все буквы, если не перекрываются одновременно. А вот с тем, что на маленьком дисплее часто надписи в сокращенной форме, использование возможно без конфликтов. Лично избегаю кириллицы. |
|
| Автор: | Eddy_Em [ Ср ноя 30, 2022 14:47:46 ] |
| Заголовок сообщения: | Re: Помогите с кодом на си для AVR (Atmega8) |
Так можно взять нормальный SPI'ный (а то и с параллельной шиной) экранчик, да гонять буфер. И шрифты будут свои — какие хочешь. А на МК с DMA вообще камень практически напрягать не нужно будет, чтобы экран обновить. |
|
| Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|



хотя кто на что горазд… можно и так если скучно…
