ЭЛЕКТРОНИКА lcd128x64 медленно работает

warsteiner

✩✩✩✩✩✩✩
1 Авг 2020
15
0
Такая беда: lcd128x64 (сейчас уже не скажу на каком чипе), библиотека u8g2
arduino mega2560pro mini, модуль RTC 3231 и парочка кнопок.
Проблема вот в чем: при выведении на монитор нескольких строчек приходится часто использовать команды
u8g2.setCursor(x,y);
u8g2.println("текст");
u8g2.sendBuffer();
так же за неимением возможности очищать только часть экрана, приходится писать
u8g2.clearBuffer();

К чему это я. При выведении на экран нескольких строчек
u8g2.setFont(u8g2_font_5x8_t_cyrillic);
u8g2.setCursor(3, 18); u8g2.println("строка1");
u8g2.setCursor(3, 28); u8g2.println("строка2");
u8g2.setCursor(3, 38); u8g2.println("строка3");
u8g2.setCursor(3, 48); u8g2.println("строка4");
u8g2.setCursor(3, 58); u8g2.println("строка5");
u8g2.sendBuffer();
Поведение мониторчика настолько режет глаз, что аж стыдно смотреть.
Эти пять строк "прогружаются" примерно 250миллисекунд (четверть секунды)
В чем может быть дело?
P.S. монитор выпаян из терминала оплаты банковской картой и там вроде бы не было замечено подобных тормозов
 

Fleshdeck

★★★✩✩✩✩
19 Янв 2019
296
147
Киев
@warsteiner, но ведь в терминале не ардуино используется), тут особо ничего не сделать, можно немного оптимизировать код, будет получше, если нужна частота кадров больше нужно избавится от ардуино
 

warsteiner

✩✩✩✩✩✩✩
1 Авг 2020
15
0
@warsteiner, но ведь в терминале не ардуино используется), тут особо ничего не сделать, можно немного оптимизировать код, будет получше, если нужна частота кадров больше нужно избавится от ардуино
Тут я с тобой несогласен. Сейчас объясню.
Имеется у меня в наличии мозг от стиральной машины ВЯЗЬМА Л50(222)(огромная стиральная машина с загрузкой 50 кг.) Мозг выглядит как бутерброд. Сверху lcd экран, кстати разрешением 192х64, снизу печатная плата на борту которой стоит кварц на 7Мгц и .... тадам!!! Atmega 128!!! И, замечу, на том экранище совершенно никаких тормозов не наблюдается. Ну разве что мелкие артефакты связанные с постоянной работой одних и тех же строк.
 

Эдуард Анисимов

★★★★★✩✩
23 Сен 2019
1,025
301
54
Марий-Эл
1. Эта библиотека очень тяжёлая. Пишите сами.
2. Чтобы рисовать на нём быстро не нужно использовать библиотеку буферизирующую данные. Нужно использовать библиотеку которая при отрисовке читает память LCD модифицирует и пишет обратно.
3. Чтобы менять текст, не нужно каждый раз стирать дисплей, если меняется не весь текст а часть.

Эта инфа на 146% верна. Так как я начинал с этих дисплеев. Потом плюнул и перешёл на цветные работающие по SPI.
 

Fleshdeck

★★★✩✩✩✩
19 Янв 2019
296
147
Киев
@warsteiner, под избавиться от ардуино я имел ввиду не использовать фреймворк ардуино, и почему все думают что ардуино это МК от Atmel...
 

PiratFox

★★★✩✩✩✩
13 Фев 2020
530
114
Харьков
и почему все думают что ардуино это МК от Atmel...
Дело тут не в МК, а в Arduino IDE. Если брать железо - таки да, это МК от Атмел. Но Arduino IDE это Processing/Wiring, отсюда все беды и тормоза. Однако ничего не мешает писать для модулей Arduinо в родной среде Атмел, та же Atmel Studio. Там и плагины для ардуины есть, да и вообще, как по мне - так гораздо удобней, к тому же присутствует могучий отладчик. И код получается на дофига компактнее, а потому и работает быстрее. Так что уважаемый @warsteiner, есть смысл задуматься о переходе на другую IDE, пока в ардуине окончательно не погрязли. ;)