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

 
 
> Как правильно организовать архитектуру программы?, Архитектура для часов
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
Ответов
Onkel
сообщение Aug 21 2015, 13:16
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



пы сы что- то не могу из ящика, дублирую тут
не, самописанный. Идея очень простая
- 8 функций, например
прием и обработка байта уарт
отправка 8 байт через уарт
посылка данных на дисплей
...
8 - потому что 8 бит в char переменной zadania, диспетчер (он только и есть в теле, все остальное - в функциях и программах обработки прерываний по таймерам) постоянно крутиться в main(), вычисляет задачу из переменной zadania с максимальным приоритетом (это нетрудно - чем выше бит выставлен в 1 - тем приоритетнее задача) и вызывает соотв. функцию. Чтобы задачи с малым приоритетом не завешивали, все функции написаны так, что они за вызов делают (возможно) не всю работу, занимая не больше отведенного им времени, и возвращают управление диспетчеру, не выставляя свой бит в нуль - если функция не завершила работу. Если более высокоприоритетных задач не появилось, то менее приоритетные задачи продолжают, пока не сделают что нужно и не выставят свой бит в 0. Ну а биты функций выставляет либо таймер(это для ацп, актуализации реле/мосфитов (выходов мк), либо прерывание по получению байта uart, либо прерывание внешнего прерывания. Вот так они и крутятся, не мешая друг другу, в полном соответсвии с оригинальной идеей. Сам я ее читал не на сайте, а в журнале хакер (бумажном) году так еще в 2006-2007, соответсвенно потом его посеял и делал по памяти. Но потом, по прочтении ряда книжек по эмбеддингу оказалось, что все не противоречит и высокой науке тоже.
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 3 2015, 20:50) Как ...   Aug 4 2015, 12:44
|- - Maxi_Man   Цитата(mempfis_ @ Aug 4 2015, 15:44) Дела...   Aug 4 2015, 14:56
|- - Jury093   Цитата(Maxi_Man @ Aug 4 2015, 17:56) Не м...   Aug 4 2015, 19:07
||- - demiurg1978   1 - Модульность программ. Опрос кнопок. Вывод инфо...   Aug 5 2015, 07:25
|- - 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
|- - 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 Текстовая версия Сейчас: 22nd June 2025 - 12:04
Рейтинг@Mail.ru


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