Robię układ który wykorzystuje kwarc zegarkowy podpięty do pinów tosc1 i tosc2.
Ale czas odmierzany w ten sposób różni się o rzeczywistego o 1 sek na minutę ( zegarek na atmedze późni) kwarc mam podpięty bez żadnych kondensatorów, ale założenie 15pF nie poprawia pracy zegarka. W czym leży problem?
Ale czas odmierzany w ten sposób różni się o rzeczywistego o 1 sek na minutę ( zegarek na atmedze późni) kwarc mam podpięty bez żadnych kondensatorów, ale założenie 15pF nie poprawia pracy zegarka. W czym leży problem?
//timer 2 8bit konfiguracja (zegarek)
TCCR2=0; //ustawieni poczatkowej wartosci timiera 0
TCCR2 |= (1<<WGM21); //tryb ctc
ASSR |= (1<<AS2); // taktowanie zegara z zewnetrzengo kwarca 32khz costam zegarkowy
TCCR2 |= (1<<CS22) | (1<<CS21) | (1<<CS20); //preskaler 1024 32na sek
OCR2 = 4; //dzielnik nastepny 32/4=8 razy na sekunde
TIMSK |= (1<<OCIE2); //zezwanie na przerwanie compare match czyli jak ocra naliczy tyle co ma naliczyc to przewanie
ISR (TIMER2_COMP_vect) //zegarek
{
zeg_setne++;
if (zeg_setne>7)
{
zeg_setne=0;
czas_calkowity[0]++;
}
if(czas_calkowity[0]>59)
{
czas_calkowity[0]=0 ;
czas_calkowity[1]++;
if(czas_calkowity[1]>=60)
{
czas_calkowity[1]=0;
czas_calkowity[2]++;
if(czas_calkowity[2]>=60)
{
czas_calkowity[2]=0;
czas_calkowity[3]++;
}
}
}
}