-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!news.mm.pl!.POSTED!not-for-mail
From: Zbych <z...@o...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: AVR, Arduino - odmierzanie czasu między zdarzeniami
Date: Wed, 25 Sep 2013 21:09:13 +0200
Organization: Multimedia Polska SA
Lines: 56
Message-ID: <l1vc9v$ert$1@news.mm.pl>
References: <l1svbp$l8g$1@portraits.wsisiz.edu.pl>
<5242eecd$0$1215$65785112@news.neostrada.pl>
<l1v4cc$5n6$1@portraits.wsisiz.edu.pl>
NNTP-Posting-Host: host-62-141-224-139.tomaszow.mm.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.mm.pl 1380136063 15229 62.141.224.139 (25 Sep 2013 19:07:43 GMT)
X-Complaints-To: a...@m...pl
NNTP-Posting-Date: Wed, 25 Sep 2013 19:07:43 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.0
In-Reply-To: <l1v4cc$5n6$1@portraits.wsisiz.edu.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:652419
[ ukryj nagłówki ]W dniu 25.09.2013 18:52, Atlantis pisze:
> W dniu 2013-09-25 16:10, Zbych pisze:
>
>> 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:
>
> Czekaj, coś mi tu nie pasuje...
>
> Dla ułatwienia unsigned short int, wartości zapisane systemem dziesiętnym.
>
> prevMillis = 65000 (czas zapisany przy rozpoczęciu pomiaru)
> millis = 65200 (obecny czas)
> millis-prevMillis = 200 (czas trwania mierzonego zjawiska, wszystko się
> zgadza)
>
> I w przypadku przekręcenia licznika:
> prevMillis=65435 (czas zapisany na chwilę przed przekręceniem licznika)
> millis=100 (obecny czas, już po przekręceniu licznika)
> millis-prevMillis = -65335
>
> Zdecydowanie nie jest to jedno i to samo. ;)
Masz braki w znajomości sposobów reprezentacji liczb w systemach
cyfrowych. Poczytaj sobie do poduszki na temat U2.
int main(int argc, const char *argv[])
{
unsigned short start = 65435;
unsigned short stop = 100;
printf("start: %u, stop %u, delta %u\n", start, stop, (unsigned
short)(stop-start));
return 0;
}
Wynik:
start: 65435, stop 100, delta 201
> W przypadku signed short int:
> prevMillis = 32667
> millis = -32668
> millis-prevMillis = -65335
int main(int argc, const char *argv[])
{
short start = 32667;
short stop = -32668;
printf("start: %d, stop %d, delta %u", start, stop, (unsigned
short)(stop-start));
return 0;
}
Wynik:
start: 32667, stop -32668, delta 201
Najnowsze wątki z tej grupy
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- skąd my to znamy
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-06-27 Re: Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-06-27 A co mnie to koooorwa obchodzi?
- 2024-06-28 nawigacja satelitarna
- 2024-06-28 SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- 2024-06-27 położyłem kafelki
- 2024-06-28 Łódź => International Freight Forwarder <=
- 2024-06-28 Łódź => Spedytor Międzynarodowy <=
- 2024-06-28 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-28 Sopot => Team Leader E-Commerce for Foreign Markets <=
- 2024-06-28 Warszawa => Senior React Native Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Software .Net Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Programista Full Stack .Net <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=