Skocz do zawartości

Arduino - odmierzenie czasu


Pomocna odpowiedź

Napisano

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,

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

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