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

Мигание символов на LCD-дисплее

Добавлено: 05 мар 2017, 01:40
blur
Здравствуйте!
Допустим, на дисплее имеем какую-то информацию, и нам нужно, чтобы символы с координатами 1,2 и 1,3 мигали (исчезали-появлялись, либо инвертировались с периодом 500мс). Как этого добиться? На ум приходит обычный программный цикл, в котором мы через нужные промежутки времени стираем символ и пишем его вновь... Но мне кажется - это как-то коряво... Может быть есть специальные команды или другие способы решения задачи?

P.s. честно говоря, не знал, где правильнее создать эту ветку... В программировании или в электронных компонентах.. если здесь - то может тут создать целый раздел по устройствам отображения информации? Если с выбором я ошибся, пусть администратор перенесет ветку. Спасибо.

Re: Мигание символов на LCD-дисплее

Добавлено: 05 мар 2017, 01:49
blur
Оффтоп: О. Вы не спите... ))

Re: Мигание символов на LCD-дисплее

Добавлено: 05 мар 2017, 01:54
Эдуард
Здравствуйте!
Ничего корявого в этом нет. Я обычно в определенном цикле перегружаю на дисплей всю информацию. В ОЗУ микроконтроллера хранится копия экрана. Там я при необходимости меняю данные для того, чтобы создать эффект мигания.

Re: Мигание символов на LCD-дисплее

Добавлено: 05 мар 2017, 02:10
blur
Просто думается так: если экран большой, на нем много источников информации - с разных датчиков, время, просто текстовая информация - то из-за 2х символов это все надо стирать, потом писать без 2х символов, потом опять стирать и писать с символами... А указав явно 2адреса символа - их не погасить? Или спецкоманда для инвертировались символа?

Re: Мигание символов на LCD-дисплее

Добавлено: 09 мар 2017, 03:19
blur
Господа, я всетаки апну тему и поконкретнее обозначу вопрос:
вот нужно например на 2-х строчном дисплее вывести в первой строке надпись "текущая температура ХХ градусов", во второй строке надпись "температура установки YY Градусов". при этом символы YY - должны мигать.
в мою голову приходит только один алгоритм. Зацикливаем следующую последовательность:

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

disp.clear();
disp.home();
disp.print("actual temp="); disp.write(XX); disp.print("grad");//печатаем 1ю строку
setCursur(0,1);
disp.print("Install temp="); disp.write(YY); disp.print("grad");//печатаем 2ю строку
disp.clear();
disp.home();
disp.print("actual temp="); disp.write(XX); disp.print("grad");//печатаем 1ю строку
setCursur(0,1);
disp.print("Install temp="); setCursor(16,1); disp.print("grad");//печатаем 2ю строку без YY


проще сделать никак нельзя?

Re: Мигание символов на LCD-дисплее

Добавлено: 09 мар 2017, 09:42
blur
наверное можно проще: циклом заставим мигать только 2 нужных символа:

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

disp.clear();
disp.home();
disp.print("actual temp="); disp.write(XX); disp.print("grad");//печатаем 1ю строку
setCursur(0,1);
disp.print("Install temp="); disp.write(YY); disp.print("grad");//печатаем 2ю строку
setCursor(15,1);/устанавливаем курсор в нужную позицию
disp.print("  ");/печатаем 2 пробела, гася тем самым символы YY



з.ы. забавно самому с собой разговаривать :)

Re: Мигание символов на LCD-дисплее

Добавлено: 09 мар 2017, 17:05
Эдуард
Вполне рабочие, логичные варианты. Можно от disp.home() отказаться. disp.clear() установит курсор в левый верхний угол.

Re: Мигание символов на LCD-дисплее

Добавлено: 10 мар 2017, 02:55
blur
спасибо!