реклама на сайте
подробности

 
 
> Как правильно организовать архитектуру программы?, Архитектура для часов
Maxi_Man
сообщение Aug 3 2015, 17:50
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 28-07-15
Пользователь №: 87 751



Как правильно организовать архитектуру программы для часов?
Часы должны показывать время дату и температуру, по очереди с определённой задержкой.
Как организовать настройку времени?
Контроллер: Mega8;
IDE: Atmel Studio.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mempfis_
сообщение Aug 4 2015, 12:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(Maxi_Man @ Aug 3 2015, 20:50) *
Как правильно организовать архитектуру программы для часов?
Часы должны показывать время дату и температуру, по очереди с определённой задержкой.
Как организовать настройку времени?
Контроллер: Mega8;
IDE: Atmel Studio.


Делал недавно для ссебя такую программу на atmega16. Отображение времени на ин14, отображение даты, температуры. Настройка вариантов отображения - время, время-дата, время-дата-температура.
И некоторые другие функции.

Разделите вашу задачу на независимые подзадачи, которые условно не связаны друг с другом. Например:
- ведение часов (например опрос ds1337 с заданным периодом или внутренний таймер атмеги),
- задача индикации - отображение информации в зависимости от состояния или режима работы устройства
- опрос термодатчика с заданным периодом
- опрос кнопок управления
- задача динамической индикации - отображение данных на индикаторе
- какие-либо остальные задачи

Свяжите эти задачи друг с другом через глобальные флаги. Например - если в данны
Go to the top of the page
 
+Quote Post
Maxi_Man
сообщение Aug 4 2015, 14:56
Сообщение #3





Группа: Участник
Сообщений: 9
Регистрация: 28-07-15
Пользователь №: 87 751



Цитата(mempfis_ @ Aug 4 2015, 15:44) *
Делал недавно для ссебя такую программу на atmega16. Отображение времени на ин14, отображение даты, температуры. Настройка вариантов отображения - время, время-дата, время-дата-температура.
И некоторые другие функции.

Разделите вашу задачу на независимые подзадачи, которые условно не связаны друг с другом. Например:
- ведение часов (например опрос ds1337 с заданным периодом или внутренний таймер атмеги),
- задача индикации - отображение информации в зависимости от состояния или режима работы устройства
- опрос термодатчика с заданным периодом
- опрос кнопок управления
- задача динамической индикации - отображение данных на индикаторе
- какие-либо остальные задачи

Свяжите эти задачи друг с другом через глобальные флаги. Например - если в данны

Не могли бы вы скинуть исходник? Просто Ваш случай, практически, в точности копирует мой.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Aug 4 2015, 19:07
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Maxi_Man @ Aug 4 2015, 17:56) *
Не могли бы вы скинуть исходник? Просто Ваш случай, практически, в точности копирует мой.

как говориться "погуглю за вас. дорого" (С) обитатели форума

зы google.ru->"atmega8 часы"
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение Aug 5 2015, 07:25
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



1 - Модульность программ.
Опрос кнопок.
Вывод информации. Аппаратный. Семисегментник, дисплей. Его задача - вывод из буфера.
Меню.
Счетчик времени.
Взаимодействие человек-программа.
2 - Псевдопараллельность процессов. Никаких долгих циклов. Разбиение задачи-модуля на подзадачи. Условия, флаги, автоматное программирование. Добиться того, чтобы каждая задача за итерацию основного цикла выполняла часть кода. Этим мы добиваемся псевдопараллельности процессов. Грубое сравнение - windows. Как работают много программ в windows? Есть диспетчер, который каждой программе выделяет определенное время выполнения. Закончилось время, диспетчер переключается на следующую программу. Это происходит очень быстро. Для пользователя это выглядит, как будто все программы работают одновременно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Maxi_Man   Как правильно организовать архитектуру программы?   Aug 3 2015, 17:50
- - RabidRabbit   Архитектура программная, по-моему, сильно зависит ...   Aug 4 2015, 06:22
- - kolobok0   Цитата(Maxi_Man @ Aug 3 2015, 20:50) Как ...   Aug 4 2015, 11:00
- - CrimsonPig   Цитата(Maxi_Man @ Aug 3 2015, 18:50) Как ...   Aug 4 2015, 11:37
|- - mempfis_   Цитата(Maxi_Man @ Aug 4 2015, 17:56) Не м...   Aug 6 2015, 08:09
|- - Maxi_Man   Цитата(mempfis_ @ Aug 6 2015, 11:09) Я ду...   Aug 6 2015, 10:18
|- - mempfis_   Цитата(Maxi_Man @ Aug 6 2015, 13:18) Спас...   Aug 6 2015, 11:06
- - Onkel   порядок гуглим "AVR. Учебный курс. Операционн...   Aug 7 2015, 05:41
|- - demiurg1978   Крайне вредный совет и цикл статей. В этой "о...   Aug 7 2015, 10:11
|- - Onkel   Цитата(demiurg1978 @ Aug 7 2015, 13:11) К...   Aug 21 2015, 06:37
|- - demiurg1978   Конкретика? Пожалуйста: очередь таймеров, которая ...   Aug 21 2015, 07:30
|- - Onkel   Цитата(demiurg1978 @ Aug 21 2015, 10:30) ...   Aug 21 2015, 07:59
|- - demiurg1978   Представьте, что функции накидали задач в очередь....   Aug 21 2015, 08:06
|- - Onkel   Цитата(demiurg1978 @ Aug 21 2015, 11:06) ...   Aug 21 2015, 08:14
|- - demiurg1978   Не торопитесь. Давайте продуктивно обсудим. Во-пе...   Aug 21 2015, 08:27
|- - Onkel   Цитата(demiurg1978 @ Aug 21 2015, 11:27) ...   Aug 21 2015, 09:03
|- - demiurg1978   Цитата(Onkel @ Aug 21 2015, 16:03) ... В ...   Aug 21 2015, 09:31
|- - Onkel   Цитата(demiurg1978 @ Aug 21 2015, 12:31) ...   Aug 21 2015, 10:01
- - Onkel   пы сы что- то не могу из ящика, дублирую тут не, с...   Aug 21 2015, 13:16
|- - demiurg1978   Мои правила написания программ: Весь набор правил...   Aug 21 2015, 14:35
- - sigmaN   Конечно от конкретной задачи таймера это делеко, н...   Aug 30 2015, 05:50
- - Onkel   Цитата(sigmaN @ Aug 30 2015, 08:50) Конеч...   Sep 4 2015, 09:00
- - NicholasR   Цитата(Onkel @ Sep 4 2015, 13:00) вряд ли...   Sep 28 2015, 05:43
- - Onkel   Цитата(NicholasR @ Sep 28 2015, 08:43) По...   Sep 29 2015, 22:52
- - demiurg1978   Цитата(Onkel @ Sep 30 2015, 05:52) (на ос...   Sep 30 2015, 04:02
|- - Onkel   Цитата(demiurg1978 @ Sep 30 2015, 07:02) ...   Oct 1 2015, 20:56
- - NicholasR   Цитата(Onkel @ Sep 30 2015, 02:52) сейчас...   Sep 30 2015, 05:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 13:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01555 секунд с 7
ELECTRONIX ©2004-2016