Свежие обсуждения
Микроконтроллеры

(полу)глупый вопрос про таймер АВР

(Полу) - потому что мне кажется что я знаю ответ на него. Просто хочется посоветоваться с профи.
Собственно, ответ может быть "да" или "нет" - и далее почему нет и как лучше сделать

Вообще-то я недавно начал осваивать АВРы, до этого программированием контроллеров вообще
не занимался - это я так, немного о себе

Собственно, пока я хочу чтобы программа опрешивала некий порт (через АЦП, но до этого я пока
не добрался) с интервалом 2 сек. Хочу это сделать через прерывание от таймера, потому что тут
была ветка про Чемберлена и в ней писали что это правильно. (Кстати, а куда она делась?)

Как я понимаю, надо взять частоту генератора и делитель для таймера так, чтобы кол-во
тиков максимально близко было к 2 сек. То есть, например, для частоты 8 МГц и делителя 512
понадобится 31250 тиков таймера. То же самое для частоты 4 МГц и делителя 256, частоты 1 МГц
и делителя 64. Правильно ли я думаю, что для таких вариантов лучше брать частоту выше, так как
в этом случае разные вычисления в программе будут делаться быстрее?

 

Частота генератора прямо связана не только с производительностью, но и с потреблением. Если потребление не колышет, то я ставлю кварц или генератор максимально возможной частоты

 

Если прога будет делать что-то еще то лучше прерываться по-чаще. настраивать таймеры удобно мастером кода.

 

А что значит "прерываться почаще"? Например, для описанного случая?
А таймеры настраивать вроде бы не сложно и без мастера. Про них в нескольких книжках
понятно написано.

 

AlexUS:А что значит "прерываться почаще"?

Это значит, что, настроив таймер на прерывание с частотой, скажем, 1 КГц, можно отмерить как 2 сек (2000 таймерных прерываний), так и 5 мс (5 прерываний). А настроив на 1 Гц, милисекунды отмерить будет сложнее

 

Kiril_82: настраивать таймеры удобно мастером кода.
Сам уважаю использование Мастера, но вот какую фигню засек на CodeVisionAVR C compiler. Прошу Мастера запрограммировать прерывания от таймеров 0 и 1 в ATTiny2313.
И эта сволочь пишет TIMSK=0x40.
Сколько я голов сломал, пока понял что ОН ошибся. Поставил TIMSK=0x41 и все забегало. Или я - дурак, или... Пока себя винить не в чем.

 

Max_Pinchuk: возьмите новый CodeVisionAVR.v1.25.3 там:
http://www.roboforum.ru/viewtopic.htm?p=11560

не качается, файл по ссылке из форума по роботам всего 65 кБайт
А вот отсюда грузится:
CodeVision 1.25.3 можно загрузить оттуда:
http://upload.caxapa.ru/CodeVisionAVR.v1.25.3.zip
Без пароля.Лекарство внутри.

 

Max_Pinchuk: вы врете
жаль что вы засоряете этот форум откровенным хамством. Вы у меня попали в игнор.