-
Data: 2013-09-25 21:09:13
Temat: Re: AVR, Arduino - odmierzanie czasu między zdarzeniami
Od: Zbych <z...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=