Компаратор с внутренним источником опорного напряжения (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");
}
}
Пjмогите настроить таймер счетчик T1 в atmega16
Модератор: boogyman
- AntonChip
- Администратор
- Сообщения: 265
- Зарегистрирован: 24 дек 2011, 22:11
- Откуда: Киров
- Контактная информация:
Re: Пjмогите настроить таймер счетчик T1 в atmega16
ISR(TIMER1_CAPT_vect) {} прерывание по захвату таймера