ATNEL tech-forum https://forum.atnel.pl/ |
|
RTC obliczanie czasu który upłynął https://forum.atnel.pl/topic21752.html |
Strona 1 z 1 |
Autor: | tomasz1987 [ 23 gru 2018, o 03:51 ] |
Tytuł: | RTC obliczanie czasu który upłynął |
Witam, szukam sposobu na obliczenie czasu który upłyną między dwoma odczytami z RTC no i nie idzie nie chcieli byście zerknąć gdzie tak mocno zbłądziłem? chyba że odpowiedz jest w którejś z książek, to mam je ze sobą język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. mniejwięcej pewnie widać o co mi chodziło w strukturze rtc przechowywany jest pierwszy odczyt a w rtc_new następny no i zależy na ich odjęciu |
Autor: | kazekat [ 23 gru 2018, o 10:45 ] |
Tytuł: | Re: RTC obliczanie czasu który upłyną |
A gdybyś powołał dwie dodatkowe zmienne zamieniając sekundy, minuty, godziny czasu pierwszego i później drugiego to łatwiej odejmować. Miałem podobny problem tutaj topic21286.html spójrz może coś Ci się nasunie na myśl. |
Autor: | tomasz1987 [ 23 gru 2018, o 11:00 ] |
Tytuł: | Re: RTC obliczanie czasu który upłyną |
Wczoraj jak zamknąłem oczy Wpadłem na to że problemem jest sposób w jaki są przechowywane zmienne A to że formatuje wyjście jak wyrzucam to na rs232 tylko mi to maskuje Jeszcze nie miałem czasu tego sprawdzić ale może między karpiem a uszkami |
Autor: | kazekat [ 23 gru 2018, o 11:17 ] |
Tytuł: | Re: RTC obliczanie czasu który upłyną |
Po odjęciu wyjdą Ci sekundy ale można sobie zmienić na godziny, minuty a na pewno łatwiej operować na takich dodatkowych zmiennych. |
Autor: | tomasz1987 [ 23 gru 2018, o 14:04 ] |
Tytuł: | Re: RTC obliczanie czasu który upłyną |
ok to tak liczby w tej struktuże sa przechowywane jako BCD więc dodając te dane w takiej postaci nie zawsze uzyskamy poprawny wynik dla przykładu 02.02.00 kiedy zsumujemy wyjdzie nam 4 ale jak sumujemy 10.10.00 to wyjdzie 32 więc dodałem funkcję bcd2dec język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. no i wyszło 20 tak to jest jak się robi coś o 2 w nocy jak się powinno spać wesołych świąt |
Autor: | kozaa71 [ 23 gru 2018, o 18:48 ] |
Tytuł: | Re: RTC obliczanie czasu który upłyną |
Witam. Popraw babola w tytule bo kłuje w oczy Pozdrawiam. |
Autor: | jony15 [ 24 gru 2018, o 10:45 ] |
Tytuł: | Re: RTC obliczanie czasu który upłynął |
Witam nie wiem czy do końca Ciebie zrozumiałem - chcesz obliczyć jaki czas upłynął np pomiędzy jednym zdarzeniem o czasie np 02:00:00 a drugim zdarzeniem powiedzmy o 11:55:00. Jeśli nie zależy ci na sekundach to ja bym zrobił to tak: odczytujesz z rtc -> przerabiasz do "dec" i zamieniasz godziny + minuty na jedną zmienna: czas_u16=(( godziny * 60) +minuty); z drugim czasem robisz dokładnie to samo a później zwykłe odejmowanie i masz czas jaki upłynął. Wyświetlenie wyniku: godziny=czas_u16/60; minuty=czas_u16%60; Do wyświetlania czasu zegarka, czy do wyświetlania w menu, lub czasu który upłynął - używasz tylko jednej funkcji.Jeśli chciałbyś liczyć czas z sekundami to trochę trudniej gdyż musiał byś użyć uint32, albo sekundy liczyć oddzielnie. |
Autor: | mirekk36 [ 24 gru 2018, o 12:22 ] |
Tytuł: | Re: RTC obliczanie czasu który upłynął |
tomasz1987 napisał(a): Taką loszkę napisałem No rzeczywiście masakra, po jaki gwint miliard razy wykonujesz bcd2dec() ? Zamiast RAZ wczytać do zmiennych i skonwertować z BCD na DEC i wtedy porobić obliczenia. |
Autor: | tomasz1987 [ 24 gru 2018, o 12:24 ] |
Tytuł: | Re: RTC obliczanie czasu który upłynął |
Nie ma to jak edytować posta kiedy ktoś pisze następnego Tak wszystko wiem pisałem na szybko żeby sprawdzić czy działa |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |