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



Teraz jest 22 gru 2024, o 15:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 24 wrz 2018, o 14:51 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2017
Posty: 11
Lokalizacja: Zielona Góra
Pomógł: 0

Mam problem z zegarkiem DS3231. Liczy ładnie czas, ale jest opóźniony o 13 sekund. Jak to skorygować?


Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 25 wrz 2018, o 00:12 przez bboylubsko, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2018, o 20:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

bboylubsko napisał(a):
Mam problem z zegarkiem DS3231. Liczy ładnie czas, ale jest opóźniony o 13 sekund. Jak to skorygować?


Bawiłem się zegarkami i fajna to zabawa, zwłaszcza dla mnie jako początkującego. Nie używam Arduino, tylko Mirkowe biblioteki.
Ale przecież idea jest taka sama. "Skorygować czas" - jak rozumiem - to wpisać w rejestr sekund odpowiednią wartość.
Jeśli za pomocą programu w C (lub podobnego), to po wgraniu należy usunąć (zakomentować) funkcję zapisu do rejestru sekund,
bo inaczej, za każdym razem przy starcie mikrokontrolera nastąpi dokładnie taki sam zapis. Po zapisie tylko odczytujesz a zegarek "pamięta" czas
(bo chyba podtrzymanie bateryjne po wyłączeniu ma?).

Poszukałem na szybko i tu masz ładnie te zegarki opisane z kodem w Arduino:
https://tronixstuff.com/2014/12/01/tutorial-using-ds1307-and-ds3231-real-time-clock-modules-with-arduino/
https://www.instructables.com/id/Arduino-DS3231-RTC-Clock/

Takich stron są dziesiątki. Znajdziesz rozwiązanie bez problemu.


Autor postu otrzymał pochwałę

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 wrz 2018, o 22:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2017
Posty: 140
Pomógł: 6

Pewnie kompilacja i wgrywanie trwa właśnie około 13 sekund. Najprościej wgraj raz program z ustawianiem czasu, tylko cofnij sekundy o 13, a potem tę linijkę wgrywającą czas do scalaka usuń i gotowe ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 wrz 2018, o 00:11 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2017
Posty: 11
Lokalizacja: Zielona Góra
Pomógł: 0

Dzięki. Kluczowa okazała się linijka:
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ustawiłem w niej czas na sztywno 13 sekund do przodu przed kliknięciem przycisku wgrywania. Działa idealnie.



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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