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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 cze 2025, o 20:21


    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: 143
    Lokalizacja: Zamość
    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: 143
    Lokalizacja: Zamość
    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 ] [ Zaznacz wszystko ]
    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 ] [ Zaznacz wszystko ]
    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 8 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