С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/40: Рейтинг темы: голосов - 40, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
1

Работа таймера/счетчика AVR

17.11.2012, 00:18. Показов 7233. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Для чего 2 регистра OCR0A и OCR0B? Если счетчик достиг 1-го зачения записанного в одном из этих регистров, то он сбрасывается, соответственно второй-то зачем? Ведь до него не досчитают.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2012, 00:18
Ответы с готовыми решениями:

Прерывание по переполнению таймера-счетчика ATmega8535 (ASM, AVR Studio 4)
Система прерываний на примере прерывания по переполнению встроенного таймера-счётчика...

настройка таймера/счетчика
Как настроить таймер ATmega8 на отсчет интервалов времени равных 1 сек. Я попытался настроить...

Проблема с работой таймера/счетчика 0 на ATmega8
Всем привет! Столкнулся с одной очень интересной проблемой при работе с таймером/счетчиком на...

Подсчет одиночных импульсов на внешнем входе таймера-счетчика Т0
Задание такое ! Подсчет одиночных импульсов на внешнем входе таймера\счетчика Т0:если сумма меньше...

18
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
17.11.2012, 00:22 2
Цитата Сообщение от wypuk
Для чего 2 регистра OCR0A и OCR0B? Если счетчик достиг 1-го зачения записанного в одном из этих регистров, то он сбрасывается, соответственно второй-то зачем? Ведь до него не досчитают.
Read the fucking datasheet!!!
Там все написано: у таймера 1, кроме режима CTC есть еще много-много разных режимов работы. Соответственно: не всегда таймер сбрасывается по совпадению с этим регистром.
0
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 641
17.11.2012, 01:19 3
doomsday, +1.

wypuk, по этим регистрам может ШИМить и СТСить.
0
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
17.11.2012, 12:34 4
В Attiny45 Таймер/счетчик Т1 имеет 2 регистра управления, и его режимы задаются не как в таймере/счетчике Т0. В Т0 режимы работы задаются битами WGM02:00, т.е. определенно какой-то 1 режим из нескольких вариантов. А вот с Т1 не все так определенно: В регистре TCCR1 бит CTC1 задает режим СТС,а вот в этом же регистре бит PWM1A задет режим ШИМ канала А, к тому же еще один бит PWM1B в другом регистре управления GTCCR включает режим ШИМ канала В. Так если я задам все эти биты СТС1 и PWM1B и PWM1А как 1, то все-таки в каком режиме будет работать таймер/счетчик Т1? Поясните, не понимаю!

Кстати еще... В Т1 при работе в режиме СТС "при совпадении содержимого счетного регистра TCNT1 и регистра сравнения OCR1C производится сброс таймера/счетчика в состояние $00". А прерывание при этом какое-нибудь генерируется? В регистре флагов нет флага такого прерывания (кроме если только может быть TOV1, ну и о разрешении прерывания тоже можно только догадываться что это может быть бит TOIE1)?
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 12:50 5
Цитата Сообщение от wypuk
... Поясните, не понимаю!
Наберите в поисковике "таймера AVR", получите 100500 ссылок на русском языке, почитайте, не поняли по одной - почитайте другую.
Лучше программировать и тут-же проверять в симуляторе. Без практики теория может и вовсе в голове не уложиться.
0
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
17.11.2012, 13:12 6
Цитата Сообщение от omokost
Лучше программировать и тут-же проверять в симуляторе. Без практики теория может и вовсе в голове не уложиться.
Все укладывается, вот только непоясненные в теории вопросы остаются! А в интернете все в большей части обобщено, и в разных моделях одни и те же функции хоть и сделаны идэнтично, но все же имеются некоторые отличия, и ответ на конкретный вопрос по конкретному МК выудить из огромного количества информации довольно проблематично. Так что если знаешь - поясни, если нет - не стоит вообще отвечать на посты, а набрать в поисковике я и без твоих подсказок догадаюсь.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 13:53 7
Цитата Сообщение от wypuk
Так что если знаешь - поясни ...
Поясняю, берете даташит от Atmel по интересующему вас контроллеру, внимательно читаете. 99% ответов там уже находятся.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
17.11.2012, 14:01 8
Цитата Сообщение от omokost
Поясняю, берете даташит от Atmel по интересующему вас контроллеру, внимательно читаете. 99% ответов там уже находятся.
А я поддержу ТС. Когда-то работал с этой тинькой, дай, думаю, подскажу. И честно полез в ДШ. Читал. Я, конечно, не самый прыткий, но и не дурак совсем. Так вот, признаю, что сходу и не смог ответить конкретно. Нужно оживить картинку работы таймера с его многочисленными режимами (а как оживить, если чел впервые запускает?), нужно прочувствовать разницу между заданием режима работы и заданием поведения выходов таймера (и еще заданием поведения прерываний)... Все это не трививально. И я вполне понимаю, что может понадобиться ответ на конкретный вопрос.
Так что, уважаемый коллега, присоединияюсь к просьбе автора темы: ответь, пожалуйста на его конкретные вопросы.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 14:10 9
Цитата Сообщение от drvtos
... ответь, пожалуйста на его конкретные вопросы.
Я б с удовольствием, и именно на конкретные, но из Tuny имел дело только с 13А. Нормальное описание в книге Евстифеева, А. В. "Микроконтроллеры AVR семейства Tiny". Что там разнеможного именно с Attiny45? Кардинально другой таймер?
0
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
17.11.2012, 14:11 10
Цитата Сообщение от omokost
Поясняю, берете даташит от Atmel по интересующему вас контроллеру, внимательно читаете. 99% ответов там уже находятся.
И не сомневался в этом! Но в языке я не ас, и времени на ясное растолкование смысла уходит много. А дабы увеличить КПД обратился за помощью сюда, но вижу, что вместо того чтобы на вопросы получать ответы здесь посылают НА.. и кроме как рекоменций где их искать ничего вразумительного сказать не могут.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 14:18 11
Цитата Сообщение от wypuk
... и кроме как рекоменций где их искать ничего вразумительного сказать не могут.
То есть вам опять нужно рассказывать притчу о том что рыбу надо научиться ловить, а не халявно есть?
0
SWK
17.11.2012, 14:24 12
Цитата Сообщение от drvtos
Когда-то работал с этой тинькой, дай, думаю, подскажу. И честно полез в ДШ. Читал. Я, конечно, не самый прыткий, но и не дурак совсем. Так вот, признаю, что сходу и не смог ответить конкретно. Нужно оживить картинку работы таймера с его многочисленными режимами (а как оживить, если чел впервые запускает?), нужно прочувствовать разницу между заданием режима работы и заданием поведения выходов таймера (и еще заданием поведения прерываний)... Все это не трививально. И я вполне понимаю, что может понадобиться ответ на конкретный вопрос.
Это еще от не очень хорошей структуры даташитов Atmel.
Многие вещи в конкретном контексте не поясняются, а лишь вскользь упоминаются, за ними надо лезть в другие разделы, что запутывает и усложняет понимание.

Для сравнения, например, в даташитах по PIC у МикроЧипа - более упорядоченно.
К примеру, открываем раздел по таймеру. Там сразу - его блок-схема с источниками тактирования, предделителями, портами, подробно указаны и описаны все флаги и регистры, имеющие к нему отношение, настройки и работа в разных режимах, используемые прерывания.
Все - в одном месте, не надо бегать по всему даташиту туда - сюда... Достаточно просмотреть 2-3 странички.

А попробуйте, например, понять работу ШИМ в Меге 128 по ее даташиту... Где про него - вообще ничего конкретного. Или работу таймера T2 - его описание вообще отсутствует. Но есть в доке на Мегу 64...
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 14:27 13
Цитата Сообщение от SWK
...Это еще от не очень хорошей структуры даташитов Atmel...
Вот с этим согласен полностью, нужно просматривать и даташиты соседних МК.
0
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
17.11.2012, 14:29 14
Цитата Сообщение от omokost
Кардинально другой таймер?
Да таймеры во всех моделях практически идентичные, но как я уже говорил имеются отличия. Даже между двумя таймерами Т0 и Т1 в Тини45 отличия! Поясняю:
в Т0 регистры управления TCCR0A и TCCR0B, режим работы задается комбинацией битов WGM02:00 в этих регистрах и получается 1 режим;
в Т1 регистры управления TCCR1 и GTCCR и режим СТС задается установкой бита СТС1 в регистре TCCR1, а режим ШИМ канала А установкой бита PWM1A регистра TCCR1, а режим ШИМ канала В установкой бита PWM1B регистра GTCCR. И что разве таймер будет работать сразу на 3 фронта при установке всех этих битов?
Этого ответа я не получил ни из даташита ни из Евстифеева. Может просмотрел, а может его там и нет! Но если кто знает ответить-то можно, не посылая читать литературу, которая и так уже прочитана неоднократно (это насчет той самой притчи про халявную рыбу)!
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 14:39 15
Таймеры бывают разных типов, и если бы вы прочли документацию, то знали бы об этом.
В последних есть и тип F.


<Изображение удалено>
0
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
17.11.2012, 14:53 16
Цитата Сообщение от omokost
Таймеры бывают разных типов.
А люди бывают тоже разных типов: те которые помогают и те которые могут помочь, но говорят - это не мои проблемы, разбирайся сам!
У Евстифеева дохрена книг по этим МК и прочитать все их тоже довольно затруднительно по времени, а вычислять книгу по выжимке из оглавления этого времени не прибавляет (если это вообще скриншот именно книги Евстифеева).
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
17.11.2012, 15:01 17
У человека возникла сиюминутная проблема, и он вместо того чтобы почитать и понять в чем дело полез в интернет. Вовсе не обязательно, что человек у которого спрашивают, будет на 100% вникать в дебри. Скорее всего он подтолкнет в правильном направлениии.
А скриншот из оглавления книги Гребнев В. В. "Микроконтроллеры семейства AVR фирмы Atmel", 2002.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
17.11.2012, 15:07 18
Цитата Сообщение от wypuk
Этого ответа я не получил ни из даташита ни из Евстифеева.
Ну, если здесь не найдется ответа, то я бы попробовал просто экспериментировать. Вплоть до симуляции в Студии (хотя симуляцию не люблю, но всяко же бывает). А лучше на живом проце.

В на коллегу omokost-а не серчай. Он просто не знает готового ответа. И считает необходимым не сам ответ, а научить тебя неким правильным правилам (в его видении). В общем-то, мы здесь в последнее время все только этим и занимаемся, к сожалению (я тоже вот сейчас не отвечаю на твой вопрос...)

Но тут и случай не простой, кстати.
0
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 4
17.11.2012, 15:08 19
Цитата Сообщение от omokost
У человека возникла сиюминутная проблема, и он вместо того чтобы почитать и понять в чем дело полез в интернет. Вовсе не обязательно, что человек у которого спрашивают, будет на 100% вникать в дебри. Скорее всего он подтолкнет в правильном направлениии.
А скриншот из оглавления книги Гребнев В. В. "Микроконтроллеры семейства AVR фирмы Atmel", 2002.
Сначала я и попытался понять, но увы не получилось все сразу, уж простите. Я спрашивал не конкретно у тебя и не заставлял лезть в дебри, а предполагал что ответит тот кто знает. А за книжку спасибо, посмотрю что пишет.
0
17.11.2012, 15:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2012, 15:08
Помогаю со студенческими работами здесь

Расчет таймера AVR.
Приветствую. Подскажите пож-та, правильно ли я считаю. Мне нужно, что прерывание по переполнению...

Установить период входных импульсов таймера счетчика, равным 8 мс при ча-стоте резонатора в 2 МГц
МК: atmega 128 Установить период входных импульсов таймера счетчика, равным 8 мс при частоте...

На основе таймера/счетчика 1 построить схему делителя частоты с коэффициентом деления 500 (ATmega16)
Здравствуйте, помогите с заданием по микроконтроллерам ATmega AVR. На основе таймера/счетчика 1...

На основе таймера/счетчика 1 построить схему формирователя импульсов, длительностью 1с, используя микроконтроллер с част
Здравствуйте, нужно сделать задание: Assembler AVR studio На основе таймера/счетчика 1...

В чем отличие таймера АВР от счетчика АВР?
Объясните,пожалуйста.

Данные таймера-счетчика по внешнему прерыванию
мк AT90S8535 программа которая по внешнему сигналу учитывает показания таймера- счетчика 1(через...

Управление выводом с порта значением счётчика CNT таймера
Здравствуйте! Есть такая задача: хочу задействовать сразу 8 линий одного порта в режиме вывода так,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru