Вывод данных на дисплей из разных источников
- Войдите на сайт для отправки комментариев
Вс, 29/03/2020 - 21:09
Всем здравствуйте. Делаю один проект и зашел в тупик. Надо выводить на дисплей данные расчетов из основной программы, а по прерыванию, данные сохраненные в EEPROM. Может кто опытный направить в нужном направлении. Заменой просто данных не обойтись. Структура вывода будет несколько другая. Как правильно и с меньшими затратами переключить дисплей на разные источники данных Спасибо.
Дисплей сам по себе ничего не выводит, на дисплей выводит программа (скетч). Соответственно, Ваш вопрос лишен смысла (или неверно сформулирован).
Интересно, какого совета вы ждете?
Выводите сначала одни данные, а потом другие...
Хотите более конкретной помощи - показывайте свой код, как вы пытались решить проблему
Дисплею совершенно всё равно, что и из каких источников Вы на него выводите.
Или Вы хотите иметь два виртуальных экрана?
Всем спасибо за то что откликнулись. Понятно, что дисплею все равно. Мне надо выводить один набор данных в теле основной программы и другой, пересчитанный в прерывании. при этом основная программа не должна прерываться, т.к идет постоянный подсчет. Я так понимаю надо видимо вначале вставить код программы, а далее по прерыванию и через условие вставит блоки локальных переменных для одного и другого режима отображения.
На одноядерном МК невозможно сделать так, чтобы вычисления не прерывались при выполнении других действий. Хоть прерывание используй, хоть блоки локальных переменных.
так я и предлагаю ветвление не делать. процесс будет идти как и шел только вывод на дисплей будет идти либо из программы либо из EEPROM по прерыванию от кнопки. Или Вы это к тому чтобы не делать прерывание, а лишь условие по кнопке и сделать задержку на считывание данных по условию и вывод новых данных на дисплей.
Я понятия не имею, что Вы сейчас себе рисуете в голове - задержки, условия, кнопки и как собираетесь это в кучу собирать
Но факт есть факт - чтобы выполнить одно действие, нужно прервать другое. Никаких непрерывных вычислений одновременно с выводом куда-то там на одноядерном МК не произвести.
Или поставить триггер на вход от кнопки и счетчик блоков данных архива в EEPROM и с каждым нажатием изменять номер блока а на выходе Millis на сброс триггера и выход в отображение основных данных подсчета параметров. Тогда и программа будет идти обычно?
ну поэтому и весь сыр-бор
Да хоть подорожником МК оберните и морковкой бейте. Можете даже миллис сусальным золотом покрыть, а триггер из графена вручную изготовить.
Одновременно две вычислительные операции сделать он не сможет. Это все.
alex11011963, в дополнение к уже написанному: осуществлять вывод на экран в прерывании - неправильное решение. В прерывании нужно либо устанавливать флаг того, что должно быть выведено, либо вычислять новое значение. А сам вывод осуществлять в основном цикле.
alex11011963, Вы пишете всё очень длинно и заумно. Вам всё уже сказали,
а) параллельно ничего не выполняется - всегда выполняется что-то одно;
б) внутри обработчика прерывания лучше ничего не выводить.
Теперь попробуйте это реализовать, а если будут вопросы, выкладывайте скетч и спрашивайте.