Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
dmiibo
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 13
1

Странная работа таймера на ATTiny2313

17.12.2010, 22:56. Просмотров 4783. Ответов 5
Метки нет (Все метки)

Добрый чего там у вас.

Запускаю обычный таймер1 с предделителем 8. в прерывании переполнения мигаю светодиодиком.
удивительно, при рабочей частоте 4МГц (фузы CKSEL 0011) это должно происходить 500000 раз в секунду (4000000/8). однако "на глаз" это 2 раза в секунду. не говорю уже о том сколько надо ждать при предделителе 1024.

код
Код
#include <avr/io.h>
#include <avr/interrupt.h>

ISR (TIMER1_OVF_vect) {
PORTB ^=1<<0; //моргаем
return;
}

int main(void)
{
DDRB=0xff;
PORTB=0x00;

TIMSK |= 1<<TOIE1;
TCCR1A = 0;
TCCR1B = 2; //пределитель = 8
sei();
while(1) ;

return 1;
}
что не так?

ах да, ещё студия ругается на TCCR0 (типа не определён)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 22:56
Ответы с готовыми решениями:

Странная зависимость работы таймера от внешних прерываний
Добрый день! При реализации одного проекта столкнулся с непониманием работы временных интервалов....

Работа с портами ATtiny2313
Делаю вот что. #define F_CPU 8000000UL #include &lt;avr/io.h&gt; #include &lt;util/delay.h&gt; int...

Работа с семисегментником на ATtiny2313
Нужна помощь. Используемый софт: AVR Studio 6, Proteus 7.8 Задача: По кнопке должен загораться...

Работа с EEPROM Attiny2313
Добрый вечер:) Есть программа кодового замка для Attiny2313. Пользователь вводит код, этот код...

[решено]Странная работа порта.
контроллеры Мега32 и мега16 (в двух корпусах, то есть разные контроллеры) язык Си, Amel Studyo 6 ...

5
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
17.12.2010, 23:03 2
А то, что таймер перед переполнением должен досчитать до конца, вы забыли?
Получается: 4 000 000 / 8 / 65536 = 7.62 Гц. Хотя это все-равно не два раза в секунду, но тут видимо уже погрешность вашего глазомера.

На TCCR0 он ругается не без оснований. Его и правда нет. Есть TCCR0B и TCCR0A.
0
dmiibo
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 13
17.12.2010, 23:14 3
Спасибо!
Только начинаю осваивать =)
Теперь знаю где копать.
Можете рассказать чуть детальнее про инициализацию таймера на Си? А то на сайте по больше части асм
0
hymiro
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 76
17.12.2010, 23:17 4
Цитата Сообщение от dsodir
А то, что таймер перед переполнением должен досчитать до конца, вы забыли?
Получается: 4 000 000 / 8 / 65536 = 7.62 Гц. Хотя это все-равно не два раза в секунду, но тут видимо уже погрешность вашего глазомера.

На TCCR0 он ругается не без оснований. Его и правда нет. Есть TCCR0B и TCCR0A.
7.62 вроде еще на 2 надо поделить т.к.
Код
PORTB ^=1<<0; //моргаем
Итого 7.62/2=3.81 Гц
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
17.12.2010, 23:20 5
hymyro, точно! Получается, 130 мс горит, 130 мс не горит.

dmiibo, а какая разница-то Си или Асм. Там нужно просто биты в регистрах выствить и всё. Язык, тут, ИМХО, последняя проблема.
0
Uttrym
0 / 0 / 0
Регистрация: 19.10.2010
Сообщений: 219
18.12.2010, 11:11 6
Цитата Сообщение от dmiibo
Спасибо!
Только начинаю осваивать =)
Теперь знаю где копать.
Можете рассказать чуть детальнее про инициализацию таймера на Си? А то на сайте по больше части асм
TIMSK0=0x01; // enable interrupt of counter overflow
TCCR0A=0x00; // timer mode - Normal
TCCR0B=0x02; // timer on, CLK/8
TCNT0=0x00; // risit counter

Вот вам инициализация таймера на Си. Значения указаны для Tiny44, так что смотрите в даташит по вашему камню.
0
18.12.2010, 11:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2010, 11:11

Странная работа АЦП Attiny13A
Доброе время суток. Затеял тут один девайсик залудить. Заюзал Attiny13A-PU. PWM, прерывания, все...

Странная работа кнопок в Протеусе
Всем привет! Я начинающий. Уже 3-ий вечер не могу разобраться с работой кнопок в Протеусе. Хочу...

STM32F1, странная частота таймера.
В общем, такая ситуация. Работаю как обычно в CooCox, создаю как обычно проект, выбираю...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru