Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: А кто как делает мигание на индикаторе?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Kovrov
На своем веку попробывал много способов мигания определенных областей индикатора
вплоть до 2х буферного алгоритма (один как есть а другой маска мигания)
Хотелось бы знать а как кто решает этот вопрос?
интересно и строчные и графические индикаторы...
defunct
3 светодиода расположенных в линию - это однозначно индикатор, только вот строчный он или графический?

Задайте вопрос поточнее ;>
Kovrov
Цитата
3 светодиода расположенных в линию - это однозначно индикатор, только вот строчный он или графический?

ну это пусть каждый для себя решает 3 светодиода это индикатор или нет smile.gif
хотя 3 светодиода - это однозначно графический если азбуку морзе сигнализировать ;-)
я думаю вы и так догадолись о чем идет речь...
в противном случае я в диком и искреннем недоумении ;-) help.gif
ну извольте...
интересуют виды индикаторов, способные выводить символьную или графическую информацию
(если конкретно, к примеру семейство 16 или 20 символьных по 1-2-4 строки)
Или, если группа символов, или графическое представление, реализуется на группе светодиодов, ламп и подобное - пусть будет так....
смысл от этого не меняется...
IEC
Суть в том, что для данного типа индикаторов необходимо один раз записать информацию и она там храниться, пока вы ее не измените. Т. е. отдельные элементы можно заставить мигать путем перезаписи их значения через определенный тайм-аут. Иного метода наверное нет.
Kovrov
идею я понял!
но помоему слишком сложно
это мне специально следить за содержимым определенных участков памяти индикатора.
как то не экономно!
и потом более сложный алгоритм обслуживания индикатора...
это мне надо знать в каком месте надо мигать как то затирать эти места а потом восстановлять....
upc2
Если символьные индикаторы , а графические точно, имеют буферную память, то только
перезаписью кода.Разбивать память на участки.Писать специальные функции.Я думаю
всеравно это сложно.
BVU
Для графических индикаторов (можно и для знакоцифровых), составляется структура содержащая типы (символы, строки, битовые матрицы ...) для отображаемых элементов поля экрана. Все эти элементы имеют свои характеристики (блинкование, анимацию, таймеры и прочее...) и по заданным таймаутам таймеров элементов в сочетании с глобальным таймаутом программного дисплейного-менеджера может происходить то или иное изменение элементов экрана. Здесь в основном играет роль программная логика событий, но так же могут использоваться и аппаратные функции управления отображением дисплея, которые учитываются при написании драйверов низкого уровня.
Сложно? Да,.. с первого раза и с первого взгляда... Но когда знаешь как и что делаешь сложность заключается лишь в том, что бы не наделать много ошибок (чаловеческий фактор). smile.gif
defunct
Цитата(Kovrov @ Feb 7 2006, 09:14) *
(если конкретно, к примеру семейство 16 или 20 символьных по 1-2-4 строки)
Или, если группа символов, или графическое представление, реализуется на группе светодиодов, ламп и подобное - пусть будет так....
смысл от этого не меняется...


С помощью символьного буфера для символьных, и с помощью точечного буфера для графических.
Выводом на индикатор только измененных значений...
SasaVitebsk
В одном случае я реализовывал подобный проект. Правда мигания там не было, но были окна где информация менялась и зоны куда курсор не заходил. Поскольку было масса экранов с разными данными, то я их организовал в структуры. Т.е указывал позицию начала и конца окна, указывал тип водимой переменной, указывал расположение десятичной точки, max и min значение. Таким образом я бы подошёл и к миганию. Т.е указал бы зону мигания и признак. На одно окно максимум три байта.
Но я знаю у меня один знакомый хранил образ экрана в памяти и отображал его непрерывно при любом изменении.
Kovrov
а кто что скажит на это....
имею 2 буфера в рам мк с полными данными информации на экране
и настраиваю таймер чтоб он по очереди менял вектор начала буфера
изначально содержимое буферов равно
когда нужно мигать просто прописываю туда маску и все
когда не нужно мигать копирую один с другим
просто...
но маненько памяти расточает
для графических думаю так поступать лучше не надо...
add
Писал прогу для символьного индикатора. Мигание делал так(суть уже была описана выше): В контроллере M8515 организовывал буфер (на все знакоместа 20шт. :-)). +два байта координаты курсора. ( можно и один байт , в том случае хватило бы). Память жки постоянно обновляется из этого буфера(с частотой необходимой для мигания). По текущим координатам курсора берем байт из буфера(мигающий сегмент) сохраняем его значение. На место сохраненого байта пишем в буфер что угодно(я прописывал " "). Перед следующим обновлением востанавливаем значение. Для символьного конечно подойдет , но для графического уже напряг. т.е. для графического наверное надо бить на зоны?! huh.gif
sat
Цитата(BVU @ Feb 7 2006, 18:37) *
Для графических индикаторов (можно и для знакоцифровых), составляется структура содержащая типы (символы, строки, битовые матрицы ...) для отображаемых элементов поля экрана. Все эти элементы имеют свои характеристики (блинкование, анимацию, таймеры и прочее...) и по заданным таймаутам таймеров элементов в сочетании с глобальным таймаутом программного дисплейного-менеджера может происходить то или иное изменение элементов экрана. Здесь в основном играет роль программная логика событий, но так же могут использоваться и аппаратные функции управления отображением дисплея, которые учитываются при написании драйверов низкого уровня...

Поделитесь, пожайлуста, примером работы с графическим индикатором на основе структур, если не сложно smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.