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



Teraz jest 21 maja 2024, o 05:33


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 ]
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 ]
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 0 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO