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
Kod
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

Kod
Code: vbnet