Вывод информации на LCD по шаблону
- Войдите на сайт для отправки комментариев
Делаю железку, в числе прочего измерение температуры при помощи датчика 18b20. С датчика приходят данные возможных видов: -12.34 (6 знаков) или -3.32 (5 знаков) или (6.12) (4 знака) . Температуру вывожу в определённое место на LCD 1604:
lcd.setCursor(0, 2);
lcd.print(ds.getTempCByIndex(1) , 1);\Вывод округлённого до 1 знака значения.
После температуры вывожу знак градуса. При изменении числа выводимых знаков от трёх (3.4 °) до пяти (-10.1 °) (отрицательная температура, t<10, t>10) - начинается ерунда - задваивается знак градуса от предыдущего значения и т.д. Остановился на ежечасном затирании строки, но это не элегантно на мой взгляд. В бейсике помнится был вывод данных по шаблону ###.#. Как реализовать здесь подобное? Чтобы с заданной позиции выводимые показания занимали строго 5 знакомест (максимальное значение знакомест)
взять и правильно код написать
чего то сложного здесь нет
если бы вы показали свою прогу - вам бы наверное уже помогли))))
для начала на LCD надо стирать предудщие значения выводя их же цветом фона ....
потом выводить новые... проблемма с двойным градусом уйдет ....
для начала на LCD надо стирать предудщие значения выводя их же цветом фона ....
А может просто нужное кол-во пробелов напечатать? А потом на их место данные.
для начала на LCD надо стирать предудщие значения выводя их же цветом фона ....
А может просто нужное кол-во пробелов напечатать? А потом на их место данные.
возможно ... но когда я делал свой вывод мне нужно былоо стирать от 2 до 10 символов... проще вывести данные до изменения еще раз помоему было ... поэтому не проовал вариант с проблеами ... если работает отложу в памяти )
Достаточно печатать один -два пробела после вывода температуры. Ничего затирать не надо.
Смысла выкладывать прогу не вижу - черновой шаблон. Со стиранием пробовал - мерцание неприятное. С пробелами у меня и сделано. Получается надо первое знакоместо под минус держать и пробел перед градусом. Просто когда минуса нет, первая цифра выводится с данного знакоместа и перед градусом уже два пробела. Это всё не критично, хотелось с шаблоном вывода разобраться. Несколько подобных программ просмотрел - все с затиранием и пробелами мудрят. Если датчик отваливается выводится показание -127.0 - 6 знакомест, получается резерв в 3 пробела надо делать %-)
Если отваливается, то достаточно одного if и ничего не выводить.
Проверил... на 2.4 tft с #include <MCUFRIEND_kbv.h>
не канает стирание пробелами... заливка прямоугольника канает... но долгая.... копаю даьше