Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

maximus22_kr 16 Jan 2015 23:24 2139 4
IGE-XAO
  • #1
    maximus22_kr
    Level 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
    Code: basic4gl
    Log in, to see the code
  • IGE-XAO
  • #2
    User removed account
    User removed account  
  • IGE-XAO
  • #3
    maximus22_kr
    Level 18  
    Witam
    Niestety to nic nie daje.
    Jak na razie mam trzy sposoby odczytu rejestrów w PCF8563:

    Code: basic4gl
    Log in, to see the code


    Code: basic4gl
    Log in, to see the code


    Code: basic4gl
    Log in, to see the code


    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ć:
    Code: basic4gl
    Log in, to see the code
  • #4
    User removed account
    User removed account  
  • #5
    elektropatycka
    Level 9  
    Tutaj problem polega na tym, że trzeba maskować sekundy, minuty i godziny. W PCF8583, jest to rboione automatycznie.