adrian Napisano Luty 1, 2014 Udostępnij Napisano Luty 1, 2014 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 More sharing options...
MirekCz Luty 1, 2014 Udostępnij Luty 1, 2014 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... 2 Link do komentarza Share on other sites More sharing options...
adrian Luty 5, 2014 Autor tematu Udostępnij Luty 5, 2014 dziękuje za odpowiedź, udało mi się zrealizować moje zadanie, także pomoc się przydała. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »