Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

atmega328 Bascom - Odczyt danych z PCF8563 - błędy odczytu z rejestru -dodaje 40

maximus22_kr 16 Sty 2015 23:24 1584 4
  • #1 16 Sty 2015 23:24
    maximus22_kr
    Poziom 18  

    Witam
    Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563.
    Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ).

    Czyli jeśli czas jest
    22:40:02
    to jest wyświetlany poprawnie, ale jak jest
    22:40:50
    to wyświetla
    62:40:50

    Zauważyłem, że gdy sekundy są pomiędzy 40 a 0, to dodaje wartość 40 do wartości godzin. Właściwie nie dodaje tylko nagle taka wartość jest odczytana z rejestru układu PCF8563. Podobnie jest z dniem miesiąca - zamiast 16 stycznia jest 56 stycznia.

    Testując poniższy program na Atmega644P ( oczywiście po zmianie w konfiguracji pinów ) - efekt jest identyczny.

    Sprawdzałem na trzech układach PCF8563P i to samo na każdym.

    Czy sposób poprowadzenia ścieżek na płytce może mieć wpływ na takie zachowanie układu ?

    Siedzę nad tym już trzy dni i nie widzę żadnego błędu w programie.
    Dodam, że tego samego "sposobu" odczytu używam od kilku lat i jeszcze się nie spotkałem z takim problemem odczytu rejestru.

    Schemat poniżej
    atmega328 Bascom - Odczyt danych z PCF8563 - błędy odczytu z rejestru -dodaje 40

    Kod

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0 4
  • #2 18 Sty 2015 12:07
    373522
    Użytkownik usunął konto  
  • #3 21 Sty 2015 21:58
    maximus22_kr
    Poziom 18  

    Witam
    Niestety to nic nie daje.
    Jak na razie mam trzy sposoby odczytu rejestrów w PCF8563:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Niestety w każdym przypadku odczytane godziny ( oraz dzień miesiąca ) są większe o 40 w przypadku, gdy sekundy są równe lub większe od 40.

    Dodano po 1 [godziny] 17 [minuty]:

    Problem rozwiązałem - maskowanie było w złym miejscu

    Powinno być:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0
  • #4 21 Sty 2015 23:07
    373522
    Użytkownik usunął konto  
  • #5 08 Wrz 2015 11:33
    elektropatycka
    Poziom 7  

    Tutaj problem polega na tym, że trzeba maskować sekundy, minuty i godziny. W PCF8583, jest to rboione automatycznie.

    0