Termostat różnicowy, sterownik solarny

User avatar
Duch__
Posts: 1785
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole

Post

Zmienna aktualnyCzas się przepełni przez millis i zacznie liczyć od zera. Dowiesz się za ponad miesiąc ;)
Image
User avatar
iborkim
Posts: 76
Joined: Sat Jun 11, 2016 10:59 am

Post

Duch__ wrote: Mon Dec 05, 2022 4:27 pm Zmienna aktualnyCzas się przepełni przez millis i zacznie liczyć od zera. Dowiesz się za ponad miesiąc ;)
Wszystkie zmienne w działaniu są unsigned long więc wynik np 100-4294967295 = 4294967195 , warunek 4294967195 >= 5000 zostanie spełniony.
A może jednak coś pokręciłem?
Wziąłem udział w Supla Offline Party 2023
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Wydaje mi się, że tutaj jest wszystko ok.

Problem z millis jest jak porównuje się dwie wartości pobrane z millis. Tutaj zawsze jest liczona różnica na zmiennych unsigned, więc wygląda ok.
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
Duch__
Posts: 1785
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole

Post

Ja bym na wszelki wypadek dał warunek że jak zmienna aktualnyCzas będzie bliska przepełnieniu to niech procesor się zrestartuje niż wejdzie w stan nieustalony. Może w przypadku twojego programu to się nie wydarzy ale warto dmuchać na zimne.
Image
User avatar
klew
Posts: 8357
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Duch__ wrote: Tue Dec 06, 2022 3:30 pm Ja bym na wszelki wypadek dał warunek że jak zmienna aktualnyCzas będzie bliska przepełnieniu to niech procesor się zrestartuje niż wejdzie w stan nieustalony. Może w przypadku twojego programu to się nie wydarzy ale warto dmuchać na zimne.
To nie jest stan nieustalony.
Licznik zwracany przez millis to "unsigned long". Odejmowanie liczb unsigned daje poprawne różnice nawet jeśli licznik się przekręci. Problemem by było, gdyby licznik był nieaktualizowany, wtedy mógłby odpalić warunek ponwnie po przekręceniu, co mogłoby nie być intencją autora.
Natomiast tutaj co 5 s jest ustawiany licznik na nowo, więc to będzie poprawnie działać.
Widzimy się na Supla Offline Party vol. 2 :!:
mrprezident14
Posts: 44
Joined: Sat Nov 26, 2022 4:27 pm
Location: Żywiec

Post

Mi w nim brakuje do szczęścia regulacji, żeby można było regulować różnice i mieć podgląd na ustawienia próbowałem takie coś zrobić ale jestem zalewy do tego. Tak wiem da się to zmienić w kodzie ale kto będzie gonił z laptopem co po chwila.

Return to “Projekty użytkowników”