eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBiblioteka standardowa time.h i mikrokontrolery › Re: Biblioteka standardowa time.h i mikrokontrolery
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
    OSTED!not-for-mail
    From: "Grzegorz Niemirowski" <g...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Biblioteka standardowa time.h i mikrokontrolery
    Date: Wed, 12 Sep 2018 11:49:22 +0200
    Organization: ATMAN - ATM S.A.
    Lines: 30
    Message-ID: <pnaneq$r42$1@node2.news.atman.pl>
    References: <5b98d6f0$0$669$65785112@news.neostrada.pl>
    NNTP-Posting-Host: 89-74-238-96.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1536745754 27778 89.74.238.96 (12 Sep 2018 09:49:14 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 12 Sep 2018 09:49:14 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: OE PowerTool 4.5
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7451
    X-WWW: http://www.grzegorz.net/
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:736484
    [ ukryj nagłówki ]

    Atlantis <m...@w...pl> napisał(a):
    > - Przygotowana przeze mnie funkcje time() najwyraźniej zwraca cały czas
    > prawidłowego timestampa, bo inaczej kolejne synchronizacje nie
    > dochodziłyby do skutku. Program stwierdziłby rozjechanie się RTC z
    > odbieranym czasem, czekając na dwie poprawne ramki. Wtedy ustawiłby
    > zegar i wszystko wróciłoby do normy. Tak się jednak nie dzieje. Po
    > pojawieniu się anomalia pozostaje na stałe.
    > W chwili obecnej do pobierania czasu z RTC używam kombinacji time() i
    > gmtime(), a uzyskane wartości ze struktury wyrzucam na ekran. Po udanej
    > synchronizacji odebrany czas z DCF jest zapisywany do zmiennej i również
    > trafia na ekran za pośrednictwem gmtime().
    > Ktoś ma jakiś pomysł, co mogę robić nie tak? Może time.h w przypadku
    > mikrokontrolerów wymaga jakiegoś przygotowania (poza podstawieniem
    > własnej funkcji time())? W jaki sposób chociażby definiuje się w niej
    > strefę czasową. Pod Linuksem ustawiało się zmienna środowiskową. A na
    > małym mikrokontrolerze?

    Dlaczego pisałeś własną funkcję time()? Ta funkcja już jest gotowa, a Twoim
    zadaniem jest napisanie funkcji _gettimeofday(). time() z biblioteki newlib
    woła _gettimeofday_r() a ta z kolei _gettimeofday(), którą trzeba
    dostarczyć.
    Czy monitorowałeś zawartość RTC, np. wypisując zawartość na porcie
    szeregowym albo przez semihosting?
    Strefę czasową ustawia się tak samo:
    setenv("TZ","CET-1CEST,M3.5.0/2,M10.5.0/3",1);

    --
    Grzegorz Niemirowski
    https://www.grzegorz.net/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: