Skocz do zawartości

Arduino - odmierzenie czasu


adrian

Pomocna odpowiedź

Cześć, mam pewien problem z prawidłowym odmierzaniem czasu w Arduino,
moim zadaniem jest wyznaczenie rzeczywistego czasu jaki upłynął pomiędzy zapaleniem diody i zgaśnięciem, gdy dioda jest zapalona uruchamiam timer w arduino za pomocą komendy millis(), który zaczyna odmierzać, kiedy dioda zgaśnie chce się dowiedzieć ile to zdarzenie trwało, i tak w kółko...

problem jest taki, że zawsze podaje mi ile czasu upłynęło od początku a nie od poprzedniego stanu,
w jaki sposób można zresetować odliczanie ?

Być może jest to prosty problem programowy?

Będe wdzięczny za podpowiedzi,

Link do komentarza
Share on other sites

Nie jestem specem od Arduino, ale taka jest idea tej funkcji.

Ten licznik się zresetuje po 50 dniach i o ile Twoja płytka nie będzie dłużej działać po jednym włączeniu to zrób tak:

1. Początek pomiaru

unsigned long start;

....

start = millis();

2. Koniec pomiaru

unsigned long czas = millis() - start;

Jest także alternatywa - resetować stan millis:

"Make sure the variable is in the scope of your code by declaring it sometime after wiring.c is included and before loop():

extern volatile unsigned long timer0_overflow_count;

Then, whenever you need to reset the timer back to zero, just set:

timer0_overflow_count = 0;"

PS. Znalezienie tych informacji zajeło mi 60sekund... korzystaj z wyszukiwarek...

  • Pomogłeś! 2
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.