Hirdetés
- Őszre feketét ölt a THEC64 Mini
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Fejhallgató erősítő és DAC topik
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen széket vegyek?
- Apple MacBook
- Autóhifi
- Xiaomi Mi Box androidos médialejátszó 4K és HDR támogatással
- Home server / házi szerver építése
- OLED TV topic
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
gyapo11
őstag
válasz
dave0825 #823 üzenetére
50 napos túlcsordulást hogy oldottad meg?
A lényeg, hogy 50 nap után megint 0-ról indul a millis és ezt kell figyelni.
Pl. óránként kiírom a reset óta eltelt órák számát. 1193-ig nincs gond, a millis megy föl 4294967296-ig, utána 0-val folytatja.
Alapból vizsgálom a millis értékét, hogy van-e már 3600000-rel nagyobb mint az előző óránál eltárolt érték. Ha ezt elérte eltelt egy óra, léptetem az óraszámot és kiírom, az aktuális millist elteszem az előző éréket tároló változóba.
Aztán egyszer csak észreveszem, hogy az aktuális millis értékből kivonva az előző tároltat negatív számot kapok, illetve hogy az aktuális millis kisebb, mint az eltárolt érték. Na ekkor csordult túl. Mi a teendő? Kivonom a maximálisból az előző tárolt értéket, ennyi idő telt el az előző órától a túlcsordulásig.
Pl. az előző tárolt érték legyen 4285563859.
4294967296-4285563859=9403437
Mivel negatív számot nem írhatok az unsigned longba, ezért egy órás ciklus idejére külön kell kezelni, és nem 3600000-at kell elérni, hanem 9403437-tel kevesebbet, mert az már eltelt az előző órától a túlcsordulásig.
Aztán ha ezt elérte, léptetem az óraszámlálót, beírom az előző értékbe az aktuális millist, és minden megy tovább megint 50 napig.
Új hozzászólás Aktív témák
- Formula-1
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Őszre feketét ölt a THEC64 Mini
- Vintage Story (Minecraft klón)
- One mobilszolgáltatások
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Anime filmek és sorozatok
- Sweet.tv - internetes TV
- Allegro vélemények - tapasztalatok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- LG UltraGear Gaming Monitorok -30%
- Huawei MatePad Pro / Wi-fi/ 12 RAM 512GB / 12Hó Garancia
- HIBÁTLAN iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2192, 100% Akkumulátor
- REFURBISHED - Lenovo ThinkPad 40A9 docking station
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: FOTC
Város: Budapest