Столкнулся с проблемой прерывания от аналогового компаратора AVR.
Использую в устройстве микроконтроллер 324P. Настраиваю компаратор так:
// Настраиваем порт B на вход
DDRB = 0x00;
PORTB = 0xF3; //0 в PB2, PB3
//Инициализация аналогового компаратора
// Влючаем компаратор, подключаем внутреннее опорное напряжение, включаем прерывание, прерывание по любому фронту
ACSR = (0<<ACD) | (1<<ACBG) | (0<<ACO) | (1<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
ADCSRB = (0<<ACME);
ACSR = (1<<ACI) ;
// Digital input buffer on AIN0: On
// Digital input buffer on AIN1: On
DIDR1=(1<<AIN0D) | (1<<AIN1D);
//Функция обработки прерывания
interrupt [ANA_COMP] void ana_comp_isr(void)
{
if ( (ACSR & 32) != 0)
{
AnComp = 1;
}
else
{
AnComp = 0;
}
}
Делаю все поп даташиту, но почему то прерывание не срабатывает.. Подскажите кто знает в какую сторону копать?



