Почему таймер не работает??? #include <mega8.h> #include <delay.h> char a = 0; interrupt [TIM1_COMPA] void timer1_compa_isr(void) { if(PIND.0 == 0 && a == 0) { a = 1; }; TCNT1=0; //обнуляем таймер } void main(void) { DDRB = 0xFF; PORTB = 0x00; DDRD.0 = 0; PORTD.0 = 1; TCCR1A=0x00; //настройка таймера TCCR1B=0x05; TCNT1=0x00; //здесь увеличиваются тики OCR1A=0x1E85; //записываем число в регистр сравнения TIMSK=0x10; //запускаем таймер while (1) { if(a == 1) { PORTB = ~PORTB; delay_ms(500); }; } } Суть. опрос кнопки. В прерывании: если была нажата кнопка, то сделать a = 1/ В цикле: если а = 1 - подрыгать ногами порта Б
http://foto.hz.by/show-image.php?id=84c991cfe803cf7bb2e0e2c7eb7e7118