eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaSTM32F401 - jaki bootloader? › Re: STM32F401 - jaki bootloader?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.89-65-244-230.
    dynamic.chello.pl!not-for-mail
    From: "Grzegorz Niemirowski" <g...@g...net>
    Newsgroups: pl.misc.elektronika
    Subject: Re: STM32F401 - jaki bootloader?
    Date: Tue, 17 Oct 2023 16:29:56 +0200
    Organization: news.chmurka.net
    Lines: 28
    Message-ID: <ugm5fd$30k$1$grzegorz@news.chmurka.net>
    References: <ughi4v$mqnh$1@dont-email.me> <ughl43$nfbc$1@dont-email.me>
    <b...@g...com>
    <ugk4qr$2dqvn$1@dont-email.me>
    <8...@g...com>
    <ugk59c$2dqvn$2@dont-email.me> <uglmg4$hoo$1$PiotrGalka@news.chmurka.net>
    <uglq9q$18kbm$1@news.icm.edu.pl> <uglqe0$nas$1$grzegorz@news.chmurka.net>
    <0...@g...com>
    NNTP-Posting-Host: 89-65-244-230.dynamic.chello.pl
    MIME-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=original
    Content-Transfer-Encoding: 8bit
    Injection-Date: Tue, 17 Oct 2023 14:24:45 -0000 (UTC)
    Injection-Info: news.chmurka.net; posting-account="grzegorz";
    posting-host="89-65-244-230.dynamic.chello.pl:89.65.244.230";
    logging-data="3092"; mail-complaints-to="abuse-news.(at).chmurka.net"
    Cancel-Lock: sha1:xsyiFe8ea4ggre8Vt/L2kxYCRx8=
    sha256:OJlgJzTE+Smm0uSzbKly9M9nNj4itEVQDiy8gX/OoYQ=
    sha1:1KqXpwEtsOhwEedLatEV258FvxI=
    sha256:dT++QS+tOyK8s5H4OyPEixWqIkiOUnyuV4R9T14MOBI=
    X-Priority: 3
    X-WWW: https://www.grzegorz.net/
    X-Newsreader: OE PowerTool 4.5.5
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7681
    X-MSMail-Priority: Normal
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:784558
    [ ukryj nagłówki ]

    M M <m...@g...com> napisał(a):
    > Bo właściwym sposobem liczenia czasu jest liczyć sekundy względem
    > umownego początku w UTC, a potem tylko wyświetlać użytkownikowi zgodnie z
    > lokalnymi zwyczajami - strefy czasowe, letni/zimowy (niestety nadal, już
    > niedługo) itp. Chociaż w końcu po 50 latach postanowiono skasować sekundy
    > przestępne...

    Tak się tam właśnie robi, tylko są potrzebne pewne kombinacje. Ten licznik
    ma tylko 12-bitowy preskaler, więc przy kwarcu zegarkowym największe okresy
    jakie odmierza to 1/8 sekundy. Trzeba więc jego wartość dzielić przez 8.
    Dodatkowo licznik też ma mało bitów, więc tym wspomnianym początkiem nie
    może być rok 1970. W praktyce można liczyć od zera, tylko w momencie
    inicjalizacji zapamiętać jaki był aktualny czas i potem dodawać przy
    zwracaniu wartości.

    time_t rtc::getCurrentTime(void) {
    return rtc_inst.p_reg->COUNTER / 8 + timeDiff;
    }

    void rtc::setCurrentTime(time_t time) {
    timeDiff = time;
    nrfx_rtc_counter_clear(&rtc_inst);
    }

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