Страница 1 из 1

Блоки форматирования строк для дисплеев

Добавлено: 09 янв 2021, 18:57
Labu559
В проекте представлены два блока:
1) Простой блок
Объединяет две строки в одну (операция конкатенации), дополняет пробелами до разрядности дисплея (двойное выравнивание), делает лишней операцию очистки дисплея.
2) Расширенный блок
Объединяет две строки в одну (операция конкатенации), дополняет символами (задаются в параметрах пользователя) до разрядности дисплея (двойное выравнивание), при превышении сумы длины строк выводит ошибку- ErrToBig, и также делает лишней операцию очистки дисплея- в штатном блоке LCD HD44780 это строки:

Код: Выделить всё

if (_isNeedClearDisp1) 
    {
        _lcd1.clear();
        _isNeedClearDisp1= 0;
    }
которые вызывают мерцание дисплея, и можно их закомментировать/удалить вручную перед компиляцией в Arduino IDE.
Описание в блоках присутствует.
Блоки:
-предназначены для применения с 7-ми сегментными, символьными, матричными, графическими, LED, VFD, LCD, Oled, TFT и др. дисплеями.
-настраиваются в Параметрах Пользователя по разрядности (макс.колличеству знаков/знакомест в строке дисплея).
Имеют смысл применения для дисплеев 8+ знакомест, потому ограничиваются этим минимумом в блоках.
[spoiler title=Так это выглядит на LCD1602.]
LCD_DoubleAligment.png
[/spoiler]

Блоки находятся и их можно сохранить в программе из демопроекта ниже. Всем Удачи!
Для символьных дисплеев на чипе HD44780 (клонах) с загруженными пользовательскими знаками (кириллическими буквами) блок нуждается в более тщательном тестировании, выкладываю отдельно, желающих приобщиться- приветствую.

Блоки выравнивания строк для дисплеев

Добавлено: 09 янв 2021, 19:08
Di123
чем он отличается от блока сложения строк ?
вы сделали на картинке тоже самое
взяли строчку пресуре и сложили её со строчкой показания + бар
посути всё что делает родной блок

Блоки выравнивания строк для дисплеев

Добавлено: 09 янв 2021, 19:13
AlexCrane
[ref]Di123[/ref], Между строчками прописываются пробелы или символы до общей длины в N символов

Блоки выравнивания строк для дисплеев

Добавлено: 09 янв 2021, 19:14
Labu559
Di123 писал(а): 09 янв 2021, 19:08 чем он отличается от блока сложения строк ?
вы сделали на картинке тоже самое
взяли строчку пресуре и сложили её со строчкой показания + бар
посути всё что делает родной блок
Именно для Вас пускай будет загадкой по крайней мере пока не прочитаете описание или не столкнётесь с проблемой как здесь. Мне добавить нечего, что сделал- описал.

Блоки выравнивания строк для дисплеев

Добавлено: 09 янв 2021, 20:19
Di123
[ref]Labu559[/ref], ну так эта проблема у меня тоже была очень давно когда я только переменные использовал ещё на 5 версии
тогда я тоже гасил их через включение платы потом через переключатель а потом перешол на клемы и проблем нистало никаких

Блоки форматирования строк для дисплеев

Добавлено: 03 июн 2022, 07:44
agronom
с русскими буквами либо пустая строчка либо китайские ероглифы выходит

Блоки форматирования строк для дисплеев

Добавлено: 03 июн 2022, 11:34
Dryundel
agronom писал(а): 03 июн 2022, 07:44 с русскими буквами либо пустая строчка либо китайские ероглифы выходит
[ref]agronom[/ref], [ref]Labu559[/ref], попробуйте заменить функцию length() на функцию из блока Длина строки RUS+ENG