таймеры в Atmega8

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
proga-ks
Родился
Сообщения: 9
Зарегистрирован: Сб мар 27, 2010 19:31:12

таймеры в Atmega8

Сообщение proga-ks »

Ув. Коты
подскажите как запустить два таймера чтоб они считали сигнал поступающий на ножки INT0 и INT1 и не мешали друг другу.
Murav
Опытный кот
Сообщения: 877
Зарегистрирован: Чт фев 18, 2010 13:51:56

Re: таймеры в Atmega8

Сообщение Murav »

Нужно подключить сигналы, которые будешь считать ко входа PD4 и PD5 и включить таймеры 0 и 1 в режим работы от внешней частоты. В чём проблема то?
А если так нужны входы PD2 и PD3(которые как раз INT0 и INT1), то можно сделать обработчики прерываний и использовать уже счётчики в программе.
Аватара пользователя
proga-ks
Родился
Сообщения: 9
Зарегистрирован: Сб мар 27, 2010 19:31:12

Re: таймеры в Atmega8

Сообщение proga-ks »

немоглибы привести примеры на си
я в таймерах пока еще не разобрался
Murav
Опытный кот
Сообщения: 877
Зарегистрирован: Чт фев 18, 2010 13:51:56

Re: таймеры в Atmega8

Сообщение Murav »

А что там приводить??? Всё по даташиту.
Ладно уж приведу:

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

//инициализация первого таймера
TCCR0 = (1<<CS02) | (1<<CS01) | (1<<CS00);
//инициализация второго
TCCR1A = 0;
TCCR1B = (1<<CS12) | (1<<CS11) | (1<<CS10);

После чего TCNT0 и TCNT1(обрати вниманиме, он 16-битный) будут увеличиваться на единицу по каждому переднему фронту сигнала на входе PD4 и PD5 соответственно.
traun
Родился
Сообщения: 12
Зарегистрирован: Вт мар 18, 2008 10:50:03

Re: таймеры в Atmega8

Сообщение traun »

Murav писал(а):А что там приводить??? Всё по даташиту.
Ладно уж приведу:

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

//инициализация первого таймера
TCCR0 = (1<<CS02) | (1<<CS01) | (1<<CS00);
//инициализация второго
TCCR1A = 0;
TCCR1B = (1<<CS12) | (1<<CS11) | (1<<CS10);

После чего TCNT0 и TCNT1(обрати вниманиме, он 16-битный) будут увеличиваться на единицу по каждому переднему фронту сигнала на входе PD4 и PD5 соответственно.


Хм, уважаемый кот, это конечно все верно, но справедливо только для пинов Т0, и Т1,
А этому товарищу как я понимаю нужно считать внешние прерывания, судя по посту т.к. сигналы INT1 и INT0,
(видимо есть какая то своя обработка интов)
или я что то не понимаю, или что то не знаю, но Т0 и INT0 совсем разные вещи.
Или же цель посчитать импульсы? и proga-ks по не знанию написал не те пины?
Но если посчитать импульсы, то ни каких претензий)
Закрыто

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