eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRóżny czas pomimo synchronizacji z NTPRe: Różny czas pomimo synchronizacji z NTP
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: Atlantis <m...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Różny czas pomimo synchronizacji z NTP
    Date: Wed, 12 Nov 2014 13:49:05 +0100
    Organization: http://www.wit.edu.pl
    Lines: 27
    Message-ID: <m3vl01$7ni$1@portraits.wsisiz.edu.pl>
    References: <m3ua09$pji$1@portraits.wsisiz.edu.pl>
    <54631e12$0$11152$65785112@news.neostrada.pl>
    <m3vc6j$boc$1@portraits.wsisiz.edu.pl>
    <m3vf68$l11$1@portraits.wsisiz.edu.pl>
    <54634628$0$2844$65785112@news.neostrada.pl>
    <m3vhgb$sa6$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    NNTP-Posting-Host: cgk31.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: portraits.wsisiz.edu.pl 1415796545 7922 83.30.238.31 (12 Nov 2014 12:49:05
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Wed, 12 Nov 2014 12:49:05 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.6.0
    In-Reply-To: <a...@n...neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:673822
    [ ukryj nagłówki ]

    W dniu 2014-11-12 12:59, Marek pisze:

    > Jesteś pewien, że prawidłowo interpretujesz otrzymane dane? Czy czas z
    > serwera ntp już jest przesunięty czy przesunięcie następuje podczas
    > lokalnego odczytu tuż po odbiorze (ta funkcja licząca *time)?

    Tego właśnie nie wiem. W każdym razie patrzę na kod i nie widzę co
    mogłoby być nie tak. Zastosowałem trochę inny, jaśniejszy sposób
    przeliczania danych z bufora na timestamp:

    uint32_t sec_since_1900 = 0;
    (...)
    sec_since_1900 = (uint32_t)buf[0x52] << 24;
    sec_since_1900 |= (uint32_t)buf[0x53] << 16;
    sec_since_1900 |= (uint32_t)buf[0x54] << 8;
    sec_since_1900 |= (uint32_t)buf[0x55];
    cli();
    *time = (sec_since_1900 - 2208988800UL);
    sei();

    Efekt jest dokładnie taki sam.

    Gdybym czytał dane z nieprawidłowych komórek bufora, to w efekcie
    otrzymywałbym kompletnie bezsensowną wartość, a nie wynik różniący się
    od obecnego czasu o kilka-kilkadziesiąt sekund.

    Raspberry Pi jest synchronizowane z tego samego serwera czasu.

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: