Zadaniem programu ma być odmierzenie 1 sekundy (zmiana stanu na wy). Przerwanie od timera 2 przychodzi co 1ms. Kwarc zewnętrzny ~11MHz.
Czy ktoś mógłby napisać dlaczego program nie działa?
Czy ktoś mógłby napisać dlaczego program nie działa?
#include<avr/io.h>
#include <avr/interrupt.h>
int i=0;
int main(void)
{
DDRC = 0b00001000;
TCCR2=_BV(CS22);
TIMSK = _BV(TOIE2);
PORTC= 0b11110111;
TCNT2=83;
sei();
while (1){
}
}
ISR(TIMER2_OVF_vect)
{
TCNT2=83;
i++;
if (i==1000)
{
PORTC=~PORTC;
i=1;
}
else{}
}