Доброго времени суток. В простом примере не получается вызвать прерывание от компаратора. Процесс моделирую в протеусе. Знаю что протеус сам по себе не надежный, но все-же думаю причина не в нем, а в коде ниже, но правда не могу найти где эта «собака» зарыта. Прошу подсказать.
СХЕМА http://s019.radikal.ru/i632/1609/34/6cfdca3a21de.jpg
Из особенностей: подключен ИОН и сравнивается с внешним напряжением через делитель. Но момент сравнения игнорируется прерыванием компаратора и не игнорируется коммандой PORTB = (ACSR&(1<<ACO));
#define F_CPU 1000000L
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
unsigned char a = 0;
ISR(ANA_COMP_vect){
	a = 1; // НЕ СРАБАТЫВАЕТ
}
int main(void) {
	DDRD	= 0b01000000;
	PORTD	= 0b00000000;
	DDRC	= 255;
	PORTC	= 255;
	DDRB=0xFF;
	ACSR |= (0<<ACD) | (1<<ACBG) | (1<<ACIE) | (0<<ACIS0) | (0<<ACIS1) | (0<<ACIC);
	sei();
	//a = 1;
	while(1) {
		if (a){ // НЕ СРАБАТЫВАЕТ
			_delay_ms(50);
			PORTC = 0;
			_delay_ms(50);
			PORTC = 255;
		}
		PORTB = (ACSR&(1<<ACO));
	}
}

