реклама на сайте
подробности

 
 
> ATtiny26 + 2 таймера
all-nic
сообщение Jun 13 2011, 12:20
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 13-06-11
Пользователь №: 65 664



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

// иниацилизируем счетчик Timer/Counter1

TIMSK = (1<<TOIE1); // разрешаем прерыв от 8-разр счётчика
TCCR1B = (1 << CS10)|(0 << CS11)|(0 << CS12)|(1 << CS13); //коэф деления 1/1024
TCNT1 = 0x00; // начало отсчета )

// иниацилизируем счетчик Timer/Counter0

TIMSK = (1<<TOIE0); // разрешаем прерыв от 8-разр счётчика
TCCR0 = (1 << CS00)|(0 << CS01)|(1 << CS02); //коэф деления 1/1024
TCNT0 = 0x00;

sei (); // разрешаем прерыв


// ( Прерывание ) счетчик 0го таймера
//------------------------------------------------------------------------------

ISR(SIG_OVERFLOW0) {

perv++;
TCNT0 = 0; // обновить число начал счета
TIFR = (1<<TOV0);
}


// ( Прерывание ) счетчик 1го таймера
//------------------------------------------------------------------------------

ISR(SIG_OVERFLOW1) {

vtor++;
TCNT1 = 0; // обновить число начал счета
TIFR = (1<<TOV1);

}



И далее в общем наброски программы:

unsigned char walk(void) {

if (perv==30) {

perv=0; //сбрасываем в нач счета 0й таймер
Led_inv_R;

}

if (vtor==300) {

vtor=0; //сбрасываем в нач счета 1й таймер
Led_inv_G;

}
return (0);
}

Контролирую это двумя светодиодами. Можно было и все сделать на одном таймере, но хотелось бы разобраться с двумя таймерами.
Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
all-nic
сообщение Jun 13 2011, 13:37
Сообщение #2





Группа: Новичок
Сообщений: 5
Регистрация: 13-06-11
Пользователь №: 65 664



Большое спасибо за подсказку.
Свою ошибку понял.
TIFR = (1<<TOV0);
TIFR = (1<<TOV1); вставил от безисходности, пробовал все.
Убрал - работает.
TIMSK |= (1<<TOIE0); Вот так правильно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 15:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016