Например TDA7294

Форум РадиоКот :: Просмотр темы - Работа с ЖКИ на контроллере HD44780 и его аналогах
Форум РадиоКот
https://radiokot.ru/forum/

Работа с ЖКИ на контроллере HD44780 и его аналогах
https://radiokot.ru/forum/viewtopic.php?f=61&t=584
Страница 119 из 122

Автор:  technik-1017 [ Вс май 08, 2022 23:32:48 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Можно в прерывании (например 1 ms) выводить по одному символу на дисплей (задержка будет обеспечиваться за счёт прерывания). Данные на дисплей будут выдаваться из буфера (массив в памяти). И для того, что бы поменять символы на дисплее нужно будет только заполнять буфер дисплея нужными значениями.
Как это работает можно посмотреть здесь uC/avr_menu:
https://disk.yandex.ru/d/GBRtXyNC0KdEeA
В примере показана работа с двумя буферами дисплея: пока заполняются данные в буфер дисплея на дисплей выводится данные из другого буфера (для исключения видимого изменения данных на дисплее).

Автор:  ARV [ Пн май 09, 2022 07:39:17 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

завидую я людям, которые берут 72-мегагерцовый МК и пишут программу управления термоядерным реактором, единственным узким местом в которой является медлительность двух команд ЖКИ аж с 32я символами! вот чую подвох в этой ситуации, да не пойму, где он...

Автор:  НовыйДень [ Пн май 09, 2022 08:46:12 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

А что, дисплей - это самая главная деталь конструкции и обязательно нужно ставить цветной TFT 480х420 туда, где по функционалу достаточно текстового 1602? Тем более, что медлительность интерфейса дисплея как раз и обходится с другой стороны - не через постоянный опрос бита BSY, а через прерывания таймера, который просто отсчитает заданный интервал. Никаких проблем!
Я тут говорю не о 72 МГц, а о несоразмерности длительности поллинга в пересчете на такты. Если величины 125 нс и 40 мкс - это еще терпимо, то 14 нс и 40 мкс - это уже неэффективность. Мышление программиста должно быть гибким, а не следовать единственному выученному 10 лет назад методу.

Автор:  OKF [ Пн май 09, 2022 08:49:29 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

C Arduino.ru:
Вложение:
apollo-mega.jpg [197.95 KiB]
Скачиваний: 80

Автор:  ARV [ Пн май 09, 2022 11:45:47 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

об том и речь... взять МК на 72 Мгц, решить задачу 2*2, и бороться за то, чтобы МК ни наносекунды не простаивал... гибкость - она такая гибкая...

я уже интересовался, сколько стоит миллисекунда "простоя" МК в ваших проектах... а то не понятно, в чем "эффективность" измеряется.

Автор:  Jack_A [ Пн май 09, 2022 11:46:41 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

... берут 72-мегагерцовый МК и пишут программу управления термоядерным реактором...

Я тоже им завидую, бо мне пришлось в прошлом тысячелетии :) на Меге 8МГЦ измерять в реальном времени 4 канала хоть и 50-Гцовых, но по 64 точки на период, рассчитывать где-то там с дюжину параметров с плавучкой и функциями, следить за кнопками управления, выдавать по запросу нужную лабуду на этот самый дисплей, да ещё и по RS485 от компа верхнего уровня отбрехиваться. Опрос готовности дисплея не использовал.
Сам удивляюсь - как это мне удалось. Вспомню - вздрогну.
----------
СпойлерНемножко лукавлю: АЦПшной частью занимался подчинённый мелкий МК и выдавал уже готовые оцифрованные точки.
----------
PS Кажется, мои усилия пропали даром. Судя по не обновляемому годами их сайту, фирме уже крындец. И не мой уход тому причиной :) - глобальные и местные обстоятельства. Ну как тут будешь компенсировать реактивку без польских конденсаторов...

Автор:  НовыйДень [ Пн май 09, 2022 12:34:50 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Видимо, у ARV мало опыта в деле, зато много опыта в словах, коль не понимает, какие бывают задачи и конструкции :))) Выучил один-единственный способ, а посылка по прерываниям для него уже настолько сложная тема, что он аж в ступоре :) Ну чтож, бывает и такое! 1,5 мс молотить в ожидании бита - это конечно похвально. хахаха.
Хотя какая, в сущности, неразрешимая сложность в организации отправки команды по прерыванию таймера? Сложно для понимания? Ну что тут сказать, бывает, бывает.
Я раньше встречал две крайности. Вторая крайность - на СТМке через DMA и таймер организовать полностью автоматическое дергание всеми ногами и заставить непрерывно по кругу слать буфер дисплея. Был тут, на радиокоте и на другом форуме один "товарисчь" с характерным ником STM32F0, особо радевший за этот способ. Ну да, я тоже попробовал тот способ. Не понравилось, оверинжениринг.
Так что, есть две крайности, а истина - она посередине.

Автор:  Jack_A [ Пн май 09, 2022 12:51:18 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

... дисплей - это самая главная деталь конструкции и обязательно нужно ставить цветной TFT 480х420 ?

... с анимацией и озвучкой :)
У программистов это называется "бантики завязывать".
Цитата:
посылка по прерываниям для него уже настолько сложная тема,

Сами говорите - истина где-то посерёдке :) Перегружать прогу лишними прерываниями тоже не гут, если их по функционалу без того достаточно. Но - какой конкретно проект...

Автор:  НовыйДень [ Пн май 09, 2022 14:16:10 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Я имел ввиду посередине между полностью автоматической постоянной перерисовкой дисплея и полностью ручным ногодрыгом через ожидание. И говорил, что если на 8 МГц МК такое ожидание еще ниче, пойдет, то при 72 МГц МК это уже будет слишком большим процентом неэффективного расходования частоты МК. И даже в конкретных цифрах - 40000/14. Потому что 72 МГц неспроста же выбирают. Значит, они нужны для другой работы. И не обязательно, что простой дисплей подразумевает несложную работу. На квадрокоптере вон вообще две лампочки, а математики - дайбоже.

Автор:  ARV [ Пн май 09, 2022 14:28:00 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

до тех пор, пока не узнаю, в чем смысл экономии "простоя", останусь при своем мнении. если на 8-битном 8-мегагерцовом МК тупое ожидание 1,5 мс зачастую ничего не стоит, то на 32-битном 72-мегагерцовом и подавно. а неумение организовать простейшие алгоритмы без DMA и т.п. аппаратной поддержки тоже многое сообщает о программисте

Автор:  НовыйДень [ Пн май 09, 2022 14:38:03 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Ваше право, каждый выбирает свой путь, у каждого свой багаж опыта. Если у вас всё сводится к
я использую библиотеку, которая работает по ожиданию готовности контроллера ЖКИ, т.е. считывает его регистр статуса и анализирует бит занятости. т.е. как бы делает кучу "лишних" обращений. <...> я настаиваю на том, что <...> по прерываниям, не только не даст положительного эффекта, но и ничего, кроме гемора, не даст вообще.

то это ваше священное право, коль вы испытываете гемор с организацией передачи по прерываниям.
Видимо, вы просто не понимаете разницы между 72 МГц и 8 МГц и выполняемых задачах. Но это тоже ваше право не понимать и тупить пять раз подряд. Вы свободны и вольны делать что вам лично угодно. Но это не говорит о том, что вы безоговорочно правы. Просто вы не совсем верно информированы по теме, только и всего. Но это тоже ваше священное право быть плохо информированным, не понимать и тупить. Так что на ваши права никто не покушается, вы свободны в своем решении тупить.

Автор:  veso74 [ Пн май 09, 2022 15:25:01 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Как фанат аналоговой техники, некоторое время назад я был категорически против использования микроконтроллеров для простых действий: реле времени, температуры и т.п. Во время своих экспериментов с микроконтроллерами для хобби понимал, что с цифровыми методами намного проще. Хоть реле времени, хоть датчик температуры я уже предпочитаю подключать к микроконтроллеру и думаю уже радикально противоположное - все: на микроконтроллери :). (друг шутит: уже предохранитель - с MCU :) ).

Здесь не все профессионалы (примерно 90%), а примерно MCU и программирование для отдыха и хобби. MCU в большинстве случаев в цикле (почти) ничего не делать. Так что загрузка данных на дисплей с методической погрешностью будет работь, а в хобби это важно. А напр. мне попадались профессионалы, которые так и остались на уровне "сложной" простой операции (написание все кода: только на ассемблере). У их устройство никогда не усложняется в функционале. Всегда нет времени.

Всегда можно лучше. Правда, каждый способ интересен, но не стоит усложнять до бесконечности. Современные контроллеры допускают загрузку по, казалось бы, неоптимальным алгоритмам. И если это улучшите, эффект будет (почти) нулевым (в 95% случаев на практике). ЦОС с MCU не все делаем. Правда, не буду управлять атомную станцию, ни в Космос не буду летать со своим конструкциями. Личное мнение. (частично пользуюсь переводчиком БГ -> РУ)

P.S. ATmega328P в Arduino Nano пишет обе строки на LCD1602 (123456789012345 и ABCDEFGHIJKLMNOP) за 9632 µs (с двумя перемещения позиции курсора: в начале строк). Однако код состоит из 4 строк.

Автор:  ARV [ Пн май 09, 2022 17:16:10 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

конечно, я не понимаю разницы между 72 Мгц и 8, потому что никто так и не смог объснить, какие такие задачи не позволяют "тупить" на 72 Мгц, как никто и не смог объяснить или хотя бы продемонстрировать, на что полезное будут потрачены сэкономленные 1,5 мс...

лично я ни разу не сталкивался с тем, что об этом нужно беспокоиться на 8 Мгц, хотя приходилось решать достаточно "большие" задачи - МК успевал "в реальном времени" абсолютно всё. поэтому я и не могу представить, чем можно нагрузить 72 Мгц. это как если бы для текстового редактора не хватило мощности i7. кстати, я в курсе, что плоды рук современных программистов не на всяком i7 нормально работают, и даже знаю, почему...

Автор:  Dimon456 [ Пн май 09, 2022 19:15:39 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Что же вы, господа профессионалы, сидите на такой не эффективной операционной системе, там столько тактов процессор простаивает по посту. Заставьте его на благо работать, что нибудь полезное делать.

Автор:  ARV [ Пн май 09, 2022 20:07:46 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

как раз в этой ОС процессор не скучает: где-то проскакивала инфа, что на каждое нажатие клавиши на клаве винда выполняет больше команд, чем было выполнено за весь полет к Луне Аполлона. современные программисты умеют рационально использовать мощность аппаратуры! :)))

Автор:  Dimon456 [ Пн май 09, 2022 20:18:25 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

ARV писал(а):
современные программисты умеют
Да когда же я увижу на прилавках наших магазинах их современное творение, телевизоры, тв-приставки, стиральные машины и пр, только противокражные этикетки и вижу.

Автор:  НовыйДень [ Пн май 09, 2022 20:25:35 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Динамическое управление частотой, режимы пониженного энергопотребления? Не, не слышали, так? :) Вот именно.
Цитата:
поэтому я и не могу представить, чем можно нагрузить 72 Мгц.

Ничего страшного, просто мало у вас опыта :))) Не расстраивайтесь, что-то более сложное вам просто не нужно.

Автор:  Dimon456 [ Пн май 09, 2022 20:27:51 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

НовыйДень писал(а):
что-то более сложное вам просто не нужно
Обрисуйте, какой нибудь пример.

Автор:  НовыйДень [ Пн май 09, 2022 20:30:47 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Ранее по тексту уже писал "какой-нибудь пример".

Автор:  Dimon456 [ Пн май 09, 2022 20:50:26 ]
Заголовок сообщения:  Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Где?

Добавлено after 8 minutes 41 second:
Все понятно, примера не будет.

Страница 119 из 122 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/