Wpis z mikrobloga

Mirki czy taki sposób obliczania czasu:
if (currentMillis - previousMillis > 1000) {previousMillis = currentMillis;}
nie powoduje że do każdego loopa doda się jakiś ułamek sekundy który po godzinie urośnie do np. 0.1 sek?

Chodzi mi o coś takiego że jeśli ułożymy na drodze 100 linijek 10-centymetrowych a będą one niedokładnie wykonane to na końcu błąd pomiaru wyniesie 100 x niedokładność
#elektronika #arduino
źródło: comment_1588493403G7Fp0M4MxGjtC0E8obYaNk.jpg
  • 3
@Analityk: raczej nie obawiam się o precyzję kwarcu tylko chciałem skumać działanie tego algorytmu, wydaje mi się że jest ok bo nawet jak główna pętla wykonująca będzie działała z opóźnieniem i wykryje tick pierwszego millisa z opóźnieniem to w drugim ticku skoryguje to opóźnienie zamiast dodawać kolejny błąd

(ten przykład z linijkami i zwiększaniem błędu wystąpiłby gdybyśmy używali np. delay(1000) zamiast millis)

btw, 7 sekund na dobę to jednak dużo