Witam nie chcę zakładać nowego tematu tylko podłącze się do istniejącego.
Mam też problem z rtc w procesorze ATMEGA644P.
Mój problem polega na tym że niestabilnie pracuje timer2 kwarc zegarkowy mam podłączony pod TOSC1 i TOSC2 bez
rzadnych kondensatorów timer2 jest skonfigurowany tak:
- Config Timer2 = Timer , Async = On , Prescale = 64
procedura odliczania czasu jest napisana w przerwaniu od timera2 i wygl
onda tak:
Kod: Zaznacz cały
Co500ms:
Counter2 = Counter2 + Timer_kalibracja
Set Zezw_wysw
Toggle Impulsy_zegara
Return
to impulsy zegara to sygnał zegarowy generowany na pinie procesora ,a obsługa zegara jest robiona w pętli głównej programu i wygl
onda tak:
Kod: Zaznacz cały
If Impulsy_zegara = 1 Then
Incr Ss
If Ss = 60 Then
Ss = 0
Incr Mm
If Mm = 60 Then
Mm = 0
Ss = Ss_kalibracja
Incr Gg
If Gg = 25 Then
Gg = 1
End If
If Gg = 24 And Mm = 0 And Ss = 0 Then
Call Dopasuj_dni_do_miesiecy
Incr Dni
Incr Dzien_tygodnia
If Dni > Dni_dane Then
Dni = 1
Incr Mie
If Mie = 13 Then
Mie = 1
Incr Rok
Incr Rok_przestepny_licznik
If Rok = 100 Then
Rok = 0
End If
End If
End If
End If
End If
End If
End If
problem w tym że działa to niestabilnie raz się spieszy 5s na 1h raz p
uźni 15s 1h dlaczego tak jest prosz
e o podpowiedz.
Dodam jeszcze że ko
żystam z przerwań od uartuw ,spi , timer1 czy to możliwe że procesor zajmuje się obsługą przerwania jakiegoś innego i przepuszcza od timera2?
Proszę o pomoc
Edit Pajączek: Poprawki w formatowaniu. Proszę używać