Пjмогите настроить таймер счетчик T1 в atmega16

Модератор: boogyman

Пjмогите настроить таймер счетчик T1 в atmega16

Сообщение:#1  Сообщение dima223 » 16 ноя 2014, 11:40

Компаратор с внутренним источником опорного напряжения (2,5В), и нужно чтоб при приходе 1 (тобиш по нарастающему фронту импульса) срабатывал захват таймера счетчика T1 (в atmega16 он вроде 16-ти битный). Мне нужно считать значение со счетчика таймера T1 (TCNT1). Оно вроде записывается в ICR1 при захвате, а оттуда потом можно и считать.
Кидаю код, помогите пожалуйста
И еще хотелось бы узнать. Надо ли разрешать прерыванию компаратора и нужно описывать вектор ISR (ANA_COMP_vect) или нет. Так же хотелось бы узнать какой вектор по T1 мне нужен ISR (TIMER1_CAPT_vect) либо другой.

#define F_CPU 1000000
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>


ISR (ANA_COMP_vect)
{
ams("nop");
}

ISR (TIMER1_CAPT_vect)
{
asm("nop");
}

int main(void)
{

DDRB &=~ (1<<3); //на вход
PORTB &=~ (1<<3); // без сопротивления

ACSR &=~ (1<<ADC); //включение компаратора
ACSR |= (1<<ACBG); //внутренее опорное напряжение на AIN0
ACSR |= (1<<ACIE); //разрешение прерываний
ACSR|=(1<<ACIS0)|(1<<ACIS1); //прерывание по нарастающему фронту

// TAIMER
TCCR1B |= (1<<0); //без предделителя
TIMSK |= (1<<5); // разрешение прерываний
TCCR1B &=~ (1<<7); // подавление помех выкл.
TCCR1B |= (1<<6); //по нарастающему фронту

sei (); //разрешение прерываний
while(1)
{
asm("nop");
}
}
Аватара пользователя
dima223
Новичок
 
Сообщения: 3
Зарегистрирован: 04 ноя 2014, 20:27

Re: Пjмогите настроить таймер счетчик T1 в atmega16

Сообщение:#2  Сообщение AntonChip » 18 ноя 2014, 17:44

ISR(TIMER1_CAPT_vect) {} прерывание по захвату таймера
Аватара пользователя
AntonChip
Администратор
 
Сообщения: 196
Зарегистрирован: 24 дек 2011, 21:11
Откуда: Киров


Вернуться в Микроконтроллеры AVR

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

Rambler's Top100