Минутное ожидание на ATtiny2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Минутное ожидание на ATtiny2313

Сообщение Mytilus G. »

Привет!
На ATtiny2313 12МГц необходим вызов прерывания по двум независимым друг от друга таймерам каждые 60 секунд. Достаточно огромный интервал для таймеров такого микроконтроллера. Какие будут советы по грамотной реализации задачи?
Реклама
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Минутное ожидание на ATtiny2313

Сообщение pyzhman »

Огромный? Вы, видимо, шутите.

Код: Выделить всё

//Обработчик прерывания.
if(++counter > nnn)
    {
    iCounter= 0;
    bFlag= 1;//секунда прошла.
    }
И делаем с этим флагом, что хотим. Размерность iCounter по надобности. nnn в зависимости от времени прерывания - считаем на калькуляторе.
Docendo discimus
Реклама
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Re: Минутное ожидание на ATtiny2313

Сообщение Mytilus G. »

Я пишу на ассемблере. Кварц - 12МГц. Максимальный предделитель - 1024. В результате, мы получаем не меньше 703125 тактов каунтера в 60 секунд. Таймера/каунтера в МК целых два, но один из них 8-битный, а второй - 16-битный, то есть 703125 они насчитать не могут. Мне нужно, чтобы оба таймера отсчитывали 60 секунд при том, что они могут быть запущены в разное время. Потому и вопрос у меня такой.
С флагом все понятно, но 8-битный таймер даже секундную задержку не потянет.
:(
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Минутное ожидание на ATtiny2313

Сообщение Flasher »

а запустить системный тик на 1 ms и работать либо с его значением, либо в нем обновлять переменные?
Системный тик может быть запущен на любое другое удобное время.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Минутное ожидание на ATtiny2313

Сообщение pyzhman »

8-битный таймер даже секундную задержку не потянет
Еще как потянет. Даже без напряга.
Docendo discimus
Реклама
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Re: Минутное ожидание на ATtiny2313

Сообщение Mytilus G. »

pyzhman писал(а):Еще как потянет. Даже без напряга.
Это я, конечно, сглупил по поводу секунды. Только вот мне в 60 раз больший интервал нужен. :?
Реклама
c717411
Встал на лапы
Сообщения: 148
Зарегистрирован: Ср дек 29, 2010 21:19:03

Re: Минутное ожидание на ATtiny2313

Сообщение c717411 »

во втором посте давно дан ответ. Подсчитайте частоту срабатывания таймера по переполнению, инкрементите счетчик до необходимого значения и проверяйте в обработчике прерывания.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Минутное ожидание на ATtiny2313

Сообщение BOB51 »

а кто мешает программно счетным входом таймера "подергать"?
один дает импульс для другого, да и промежуточные счетчики можно в ОЗУ соорудить :)
Mytilus G.
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт окт 28, 2010 03:49:33
Откуда: откуда все люди родятся

Re: Минутное ожидание на ATtiny2313

Сообщение Mytilus G. »

Я так и предполагал. Просто подумал, что с ситуацией, подобной моей, сталкиваются не редко, поэтому и вариантов решения должно быть несколько. Я хотел увидеть самый грамотный из них.
:)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Минутное ожидание на ATtiny2313

Сообщение BOB51 »

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

Вернуться в «Микроконтроллеры и ПЛИС»