Witam
Mam problem z zapisem i odczytem roku w RTC.
W internecie nie znalazłem dobrego rozwiązania tego problemu.
Czy ktoś może mi wyjaśnić najlepiej na przykładach o co chodzi z tym maskowaniem i rozszyfrowywaniem bitów odczytanych z PCF.
Zależy mi na łopatologicznym wyjaśnieniu problemu.
Pozdrawiam
P.S
Program piszę w bascom 8051.
PCF8583 i problem z odczytem roku.
Tu masz wszystko dokładnie opisane
-
K_o_n_r_a_d
- Użytkownik
- Posty: 123
- Rejestracja: 29 lip 2005, 10:21
- Lokalizacja: Lublin
Rok zapisywany jest w bajcie pod adresem 5 na dwóch najstarszych bitach, więc wystarczy odczytać cały bajt, przesunąć jego zawartość o 6 pozycji w prawo i mamy rok.
W tym RTC zapisywany jest rok tylko na 2 bitach, więc zlicza lata tylko w zakresie 0-3, aby mieć pełną datę musimy sami coś wykombinować, np. wykorzystując wolne komórki pamięci (adresy 16 i następne).
Aby zapisać rok musimy postąpić odwrotnie, czyli zsumować nasz zapis roku (0-3) - przesunięty o 6 bitów w lewo z dniem miesiąca zapisanym w BCD.
W tym RTC zapisywany jest rok tylko na 2 bitach, więc zlicza lata tylko w zakresie 0-3, aby mieć pełną datę musimy sami coś wykombinować, np. wykorzystując wolne komórki pamięci (adresy 16 i następne).
Aby zapisać rok musimy postąpić odwrotnie, czyli zsumować nasz zapis roku (0-3) - przesunięty o 6 bitów w lewo z dniem miesiąca zapisanym w BCD.
Znalazlem na innych forach podobne tematy ale prosciej rzecz biorąc to przypisujesz kazdej z 4 cyfr jakis rok i zapisujesz w wolnej pamieci np. dla cyfry 0 przypisujesz 8 (2008) w pamieci i potem dodajesz tylko 2000 albo jakos podobnie a tu masz link:
http://www.elektroda.pl/rtvforum/topic381439.html
Pozdrowienia
http://www.elektroda.pl/rtvforum/topic381439.html
Pozdrowienia
Witam
Problem już jest rozwiązany.
Rozwiązanie okazało sie banalne w swojej prostocie
Poprosiłem o pomoc kolegę, który jest programistą, ale nie ma za bardzo pojęcia o mikrokontrolerach
Po prostu programy pisze na PC i tworzy strony internetowe.
Mimo to wspólnie wykombinowaliśmy procedurkę zapisu i odczytu danych do PCF i obliczania prawidłowego roku.
Wszystkie te materiały do których podaliście mi linki już znam, nawet udało mi się wcześniej czytać rok z RTC- tylko nie bylem tego pewien.
Dopiero z kolegą doszliśmy do tego, że moje procedury działały i brakowało tylko konwersji.
Podsumowując:
Problem został już rozwiązany.
Mimo to dziękuję wam za odzew i chęć niesienia pomocy.
Gorąco pozdrawiam.
Problem już jest rozwiązany.
Rozwiązanie okazało sie banalne w swojej prostocie
Poprosiłem o pomoc kolegę, który jest programistą, ale nie ma za bardzo pojęcia o mikrokontrolerach
Po prostu programy pisze na PC i tworzy strony internetowe.
Mimo to wspólnie wykombinowaliśmy procedurkę zapisu i odczytu danych do PCF i obliczania prawidłowego roku.
Wszystkie te materiały do których podaliście mi linki już znam, nawet udało mi się wcześniej czytać rok z RTC- tylko nie bylem tego pewien.
Dopiero z kolegą doszliśmy do tego, że moje procedury działały i brakowało tylko konwersji.
Podsumowując:
Problem został już rozwiązany.
Mimo to dziękuję wam za odzew i chęć niesienia pomocy.
Gorąco pozdrawiam.