eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR, Arduino - odmierzanie czasu między zdarzeniamiRe: AVR, Arduino - odmierzanie czasu między zdarzeniami
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!goblin2!goblin.stu.neva.ru!feed.news.qwest.net!mpls-nntp-0
    3.inet.qwest.net!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.
    pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.p
    l.POSTED!not-for-mail
    Date: Wed, 25 Sep 2013 16:10:21 +0200
    From: Zbych <a...@o...pl>
    User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.0
    MIME-Version: 1.0
    Newsgroups: pl.misc.elektronika
    Subject: Re: AVR, Arduino - odmierzanie czasu między zdarzeniami
    References: <l1svbp$l8g$1@portraits.wsisiz.edu.pl>
    In-Reply-To: <l1svbp$l8g$1@portraits.wsisiz.edu.pl>
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 27
    Message-ID: <5242eecd$0$1215$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.15.192.162
    X-Trace: 1380118221 unt-rea-b-01.news.neostrada.pl 1215 83.15.192.162:52408
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:652407
    [ ukryj nagłówki ]

    W dniu 24.09.2013 23:14, Atlantis pisze:
    > Do tej pory nie potrzebowałem jednoczesnego odmierzania kilku różnych
    > wartości, w związku z czym timerów w Atmedze8 wystarczało do moich
    > zastosowań. Mogłem sobie pozwolić na zaangażowanie konkretnego licznika
    > do konkretnego zadania i resetowanie go wedle upodobań. Nie zawsze
    > jednak tak się da...
    >
    > W Arduino jest taka funkcja jak millis(), która zwraca ilość milisekund
    > jakie upłynęły od uruchomienia układu. Wartość przechowywana w long int,
    > wystarczy na trochę mniej niż 50 dni. Gdy zachodzi konieczność podjęcia
    > jakiejś akcji w określonym czasie od jakiegoś zdarzenia wystarczy
    > przepisać aktualną wartość do zmiennej, a potem sprawdzać jak różnica
    > miedzy wartością aktualną a zapisaną ma się do żądanego interwału.
    >
    > Zastanawia mnie tylko jedna kwestia. Jakie mogą być skutki ewentualnego
    > przepełnienia zmiennej i rozpoczęcia odliczania od nowa? Można sobie
    > wyobrazić, że urządzenie pracujące cały czas będzie miało taki uptime.
    > Można jakoś bronić się przed taką sytuacją?

    Nie ma po co się bronić. Jeśli nie posługujesz się wartością bezwzględną
    licznika, tylko różnicą wskazań to spokojnie możesz mierzyć przedziały
    mniejsze niż te 50 dni (niezależnie czy licznik się w tym czasie
    przekręci, czy nie). Wystarczy sprawdzić kilka przypadków na palcach:

    - stan początkowy licznika: 00000000h, końcowy: 00000200h, różnica 200h
    - stan początkowy licznika: FFFFFF00h, końcowy: 00000100h, różnica 200h

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: