Минутное ожидание на ATtiny2313
-
Mytilus G.
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Чт окт 28, 2010 03:49:33
- Откуда: откуда все люди родятся
Минутное ожидание на ATtiny2313
Привет!
На ATtiny2313 12МГц необходим вызов прерывания по двум независимым друг от друга таймерам каждые 60 секунд. Достаточно огромный интервал для таймеров такого микроконтроллера. Какие будут советы по грамотной реализации задачи?
На ATtiny2313 12МГц необходим вызов прерывания по двум независимым друг от друга таймерам каждые 60 секунд. Достаточно огромный интервал для таймеров такого микроконтроллера. Какие будут советы по грамотной реализации задачи?
- Реклама
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Минутное ожидание на ATtiny2313
Огромный? Вы, видимо, шутите.
И делаем с этим флагом, что хотим. Размерность iCounter по надобности. nnn в зависимости от времени прерывания - считаем на калькуляторе.
Код: Выделить всё
//Обработчик прерывания.
if(++counter > nnn)
{
iCounter= 0;
bFlag= 1;//секунда прошла.
}
Docendo discimus
-
Mytilus G.
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Чт окт 28, 2010 03:49:33
- Откуда: откуда все люди родятся
Re: Минутное ожидание на ATtiny2313
Я пишу на ассемблере. Кварц - 12МГц. Максимальный предделитель - 1024. В результате, мы получаем не меньше 703125 тактов каунтера в 60 секунд. Таймера/каунтера в МК целых два, но один из них 8-битный, а второй - 16-битный, то есть 703125 они насчитать не могут. Мне нужно, чтобы оба таймера отсчитывали 60 секунд при том, что они могут быть запущены в разное время. Потому и вопрос у меня такой.
С флагом все понятно, но 8-битный таймер даже секундную задержку не потянет.

С флагом все понятно, но 8-битный таймер даже секундную задержку не потянет.
Re: Минутное ожидание на ATtiny2313
а запустить системный тик на 1 ms и работать либо с его значением, либо в нем обновлять переменные?
Системный тик может быть запущен на любое другое удобное время.
Системный тик может быть запущен на любое другое удобное время.
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Минутное ожидание на ATtiny2313
Еще как потянет. Даже без напряга.8-битный таймер даже секундную задержку не потянет
Docendo discimus
- Реклама
-
Mytilus G.
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Чт окт 28, 2010 03:49:33
- Откуда: откуда все люди родятся
Re: Минутное ожидание на ATtiny2313
Это я, конечно, сглупил по поводу секунды. Только вот мне в 60 раз больший интервал нужен.pyzhman писал(а):Еще как потянет. Даже без напряга.
Re: Минутное ожидание на ATtiny2313
во втором посте давно дан ответ. Подсчитайте частоту срабатывания таймера по переполнению, инкрементите счетчик до необходимого значения и проверяйте в обработчике прерывания.
Re: Минутное ожидание на ATtiny2313
а кто мешает программно счетным входом таймера "подергать"?
один дает импульс для другого, да и промежуточные счетчики можно в ОЗУ соорудить
один дает импульс для другого, да и промежуточные счетчики можно в ОЗУ соорудить
-
Mytilus G.
- Нашел транзистор. Понюхал.
- Сообщения: 162
- Зарегистрирован: Чт окт 28, 2010 03:49:33
- Откуда: откуда все люди родятся
Re: Минутное ожидание на ATtiny2313
Я так и предполагал. Просто подумал, что с ситуацией, подобной моей, сталкиваются не редко, поэтому и вариантов решения должно быть несколько. Я хотел увидеть самый грамотный из них.

Re: Минутное ожидание на ATtiny2313
каждый конкретный случай - личное творчество - зависит от задачи, внешней схемотехники и начинки применяемого МК 


