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 w 2025? 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 26 kwi 2025, o 08:11


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
     Tytuł: Obsluga PCF8563
    PostNapisane: 11 maja 2014, o 10:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 30 sty 2013
    Posty: 169
    Lokalizacja: Silesia - P-ce
    Pomógł: 10

    Witam.

    Chciałbym wam zaprezentować bibliotekę do obsługi zegara czasu rzeczywistego (RTC) PCF8563. W książce ( bluebook - jeżeli dobrze pamiętam ) pokazana jest natomiast obsługa brata bliźniaka PCF8583.

    Wymienię główne różnice w tych dwóch ukladach, żeby później nie było problemu z podłączeniem:
    - '63 nie posiada nóżki adresowej - adres układu jest stały - natomiast posiada zamiast niej wyjście CLKOUT, oraz
    - pin 7 został zamieniony z pinem 3.
    Kolejna różnica to kondensator, który jest podłączony do OSCI, z drugiej strony ma być podłączony do masy nie do zasilania jak to było w PCF8583.
    Następne różnice występują w rejestrze układów. Przykładowo: układ PCF8563 posiada dodatkowo zapis roku w formacie np. 14 (od 00 do 99).

    W moich bibliotekach nie przewidziałem funkcji alarmu czy timera.
    Biblioteka służy jedynie do odczytu, oraz zapisu daty i czasu do rtc.

    Plik pcf8563p.h
    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.


    Plik pcf8563p.c
    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.


    Obsługa biblioteki:

    Na początku programu należy zarejestrować podstawowe funkcje obsługujące I2C (TWI). Dokonuje się to tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Dzięki temu program działa z każdą poprawnie napisaną biblioteką do obsługi I2C (TWI).

    Przed aktualizacją daty, bądź czasu należy wywołać funkcję:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


    Aby zapisać nową datę do zegara należy najpierw zapisać do zmiennej callendar_rtc nowe wartosci, np:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

    I dane są zapisane w naszym układzie.

    Proszę o jakąkolwiek opinię.

    P.S.
    W razie jakichkolwiek pytań, uwag, spostrzeżeń - pisać.
    Jeżeli gdzieś się w czymś pomyliłem to pisać.

    _________________
    Niewiele trzeba by być szczęślwym.Wystarczy chcieć



    Ostatnio edytowano 11 maja 2014, o 14:49 przez danielos, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2014, o 11:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Bardzo malutka uwaga
    w komentarzach do funkcji rtc_write_date() i rtc_refresh_date()
    wkradła Ci się nieścisłość , w pliku *.h jest błędna informacja że
    funkcja zwraca zero gdy wszystko jest OK.

    Nie jest to błąd programowy tylko wprowadza w błąd użytkownika biblioteki :)

    Ogólnie bardzo fajna biblioteka i bardzo czytelnie napisana jak dla mnie który dopiero się uczę C :)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2014, o 14:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 30 sty 2013
    Posty: 169
    Lokalizacja: Silesia - P-ce
    Pomógł: 10

    A no fakt, już poprawiam.
    Wynikła ona z tego, że dodałem warunek sprawdzający czy odpowiednie funkcje zostały zarejestrowane.

    Dzięki za uwagę.

    _________________
    Niewiele trzeba by być szczęślwym.Wystarczy chcieć



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 maja 2014, o 17:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    Bardzo fajny scalaczek ktory rowniez posiadam i bede go niedlugo odpalal jego plus to wlasnie rok od 00 do 99.

    Biblioteka zacna ktora przetestuje.

    Wysłane z telefonu

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 wrz 2015, o 22:25 
    Offline
    Nowy

    Dołączył(a): 23 cze 2015
    Posty: 5
    Pomógł: 0

    Witam
    Na wstępie chciałbym serdecznie podziękować i pogratulować autorowi za bardzo dobrą bibliotekę. Posiadam układ pcf8563 wbudowany w płytkę testową i do tej pory nie mogłem uruchomić tego układu. Używając tej biblioteki udało mi się uruchomić zegar i dzięki temu mogę kontynuować dalszą naukę programowania - prawdopodobnie wykorzystam ją do wykonania jakiegoś prostego sterownika.


    Pozdrawiam
    Konrad



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 wrz 2015, o 15:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 30 sty 2013
    Posty: 169
    Lokalizacja: Silesia - P-ce
    Pomógł: 10

    Dziękuję za miłe słowa;)
    Ciesze się, że moja biblioteka komuś się przyda w nauce programowania. Powodzenia w dalszych krokach ze światem AVR.

    _________________
    Niewiele trzeba by być szczęślwym.Wystarczy chcieć



    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: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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