Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

RTC w AVR ATmega Pomocy

Rysiek

RTC w AVR ATmega Pomocy

Postautor: Rysiek » 10 mar 2003, o 11:47

:?
Czy ktoś wie jak wykożystać wewnętrzny RTC (real timer clock) w który wyposażony jest Procesor za pomocą Baskoma?
Na początek chce to wykożystać jako zwykły zegar, ale soft niechce mi odczytać rejestów.
Poniżej moje wypociny co tam jest źle? Z góry dziekuje za pomoc
moj mail rykool@wp.pl


Config Lcd = 16 * 2
$crystal = 800000
Config Timer1 = Timer , Prescale = 1 , Capture Edge = Rising
Enable Interrupts
Enable Timer1
Config Clock = Soft
Dim X As Word
Start Timer1

Date$ = "00/00/00"
Time$ = "00:00:00"

'Start:
Cls
Start Timer0
Start Timer1

Do
Capture1 = X
Home
Lcd "data"
Locate 1 , 9
Lcd X
Locate 2 , 1
Lcd "Godzina"
Locate 2 , 9
Lcd Time$
Loop


'End

wacha
-
-
Posty: 95
Rejestracja: 22 lis 2009, o 21:19
Lokalizacja: biele

Re: RTC w AVR ATmega Pomocy

Postautor: wacha » 24 lut 2012, o 12:59

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 wyglonda 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 wyglonda 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 puźni 15s 1h dlaczego tak jest prosze 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 :D
Edit Pajączek: Poprawki w formatowaniu. Proszę używać

Kod: Zaznacz cały

a nie [list] dla listingów[/color]

wacha
-
-
Posty: 95
Rejestracja: 22 lis 2009, o 21:19
Lokalizacja: biele

Re: RTC w AVR ATmega Pomocy

Postautor: wacha » 16 kwie 2012, o 07:53

Widze że nikt nie zna odpowiedzi na moje pytanie.
Posiedziałem nad tym problemem i wywnioskowałem że jest problem z przerwaniami.
W symulatorze wychodzi że są włączone przerwania od uartów choć ja nie odbieram nic w przerwaniach ale korzystam z buforowania danych i z funkcji ISCHARWAITING() więc to pewnie dlatego jest włanczane.
I pytanie do was czy jak w pętli do loop bendę sprawdzał stan flagi zgłoszenia przerwania od timera2
i wtedy zwiększał zawartość zmiennej sekund to zegar będzie pracował stabilnie i dokładnie?

Awatar użytkownika
r-mik
-
-
Posty: 343
Rejestracja: 14 cze 2005, o 19:18
Lokalizacja: Wawa
Kontaktowanie:

Re: RTC w AVR ATmega Pomocy

Postautor: r-mik » 10 sty 2015, o 23:07

(...) włanczane.
(...)
W słowniku nie ma takiego wyrazu, co on oznacza?

Awatar użytkownika
MatyAS
-
-
Posty: 396
Rejestracja: 18 kwie 2007, o 21:37
Lokalizacja: warszawa
Kontaktowanie:

Re: RTC w AVR ATmega Pomocy

Postautor: MatyAS » 11 sty 2015, o 18:25

(...) włanczane.
(...)
W słowniku nie ma takiego wyrazu, co on oznacza?
Włanczane włancznikiem włanczone elementy obwodu po włanczeniu są włanczone.

Wróć do „Kity AVT”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości