• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Prosty stoper - problem z uruchomieniem
#5
Niestety tak to nie zadziała, nawet jak Ci się będzie wydawało, że działa, to tylko tak sobie. Minimum to użycie funkcji millis() do odmierzania czasu. Możesz użyć funkcji z C sprinf do formatowania ciągu znaków tak by wyrzucać na ekran całą linię tekstu:

Kod:
char napis[17]; 
sprintf(napis,"%02d:%02d:%02d:%02d",godziny,minuty,sekundy,dziesiatkims); //to wrzuca zmienne spoza napisu do napisu, a calosc jest wrzucana do tablicy char napis.
  lcd.print(napis);

Znajdź sobie w historii postów funkcję czas(), wrzuciłem tam przykład jak odliczać czas z millis().
Jak już będziesz chciała bardziej dokładnie to trzeba użyć swojego timera i przerwań.
Użycie delay() powoduje, że każde dodanie/odjęcie polecenia w loop zmieni sposób zliczania czasu. 
Użycie millis() do odmierzenia 10ms też może być niedokładne, czasami coś może umknąć gdy pętla będzie dłuższa niż kilka ms. Lepiej byłoby zarejestrować stan początkowy z millis, końcowy i z tego obliczyć czas zmierzony stoperem, a te pośrednie wyliczenia ms pokazywane w czasie mierzenia  traktować tylko orientacyjnie (i tak cyferki szybko przelatują).
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Prosty stoper - problem z uruchomieniem - przez kaczakat - 11-08-2019, 03:16

Skocz do:


Przeglądający: 1 gości