Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 22 wrz 2021, o 22:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 19 cze 2021, o 12:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 141
Lokalizacja: Wrocław
Pomógł: 0

Witam serdecznie szanownych Kolegów.

Borykam się z następującym problemem: Implementuję obsługę RTC jak w temacie.
Oto link do jego noty katalogowej: http://ww1.microchip.com/downloads/en/D ... 05010G.pdf

Chciałbym abyście zweryfikowali poprawność mojego toku myślenia.
Przede wszystkim założenia są takie, że:
1. Do układu RTC jest dołączona bateria podtrzymująca mu zasilanie.
2. RTC jest napędzany z kwarcu zewnętrznego 32.768 kHz

W związku z tym należy odpowiednio skonfigurować pewne rejestry, które oznaczyłem niżej na obrazku:
Obrazek

Bit ST (na rysunku na czerwono) ustawiam przy okazji ustawienia godziny. Zegar chodzi, nie zatrzymuje się i tu jest ok.
Bit VBATEN bo bit który jest odpowiedzialny za podtrzymywanie bateryjne i powinien być ustawiony na 1
Bit EXTOSC musi być 0 ponieważ RTC napędzany jest z zewnętrznego rezonatora a nie z sygnału zegarowego.
Wg mnie to są wszystkie bity które należy ustawić aby wstępie i poprawnie skonfigurować RTC.

I teraz robię takie doświadczenie:
Po tym jak pojawi się zasilanie na płytce i rusza procek to pierwszą funkcję jaką wywołuję to ustawienie bitu VBATEN oraz EXTOSC oraz godzinę.
Czyli:
VBATEN = 1
EXTOSC = 0
ST=1

W przypadku gdy zdejmę zasilanie z płytki w ten czas RTC się przełącza na zasilanie z baterii. Następnie ponownie podaje zasilanie zewnętrzne na płytkę (czyli znów ustawiam bity VBATEN, EXTOSC...) i wtedy zaczynają się cuda dziać. A dokładnie data zmienia się na bezsensowną. Czyli tak jak by ukłąd coś tam wpisał sam.

W przypadku gdy zakomentuję wywołanie funkcji ustawiających wyżej wspomniane rejestry po czym ustawie czas na poprawny (aktualny) to czas jest zawsze poprawny.
Dlaczego te moje funkcje zaburzają czas, skoro w niego nie ingerują w cale tak po prawdzie...?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 cze 2021, o 19:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 141
Lokalizacja: Wrocław
Pomógł: 0

Problem rozwiązany. Za szybko wywoływałem funkcje ustawiające powyższe bity (funkcje wywoływane były jako pierwsze)
Wstawiłem opóźnienie 2 sekundy przed nimi i już nie ma problemu.

było:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.




a teraz jest:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO