Pages: [1]   Go Down
Author Topic: time - unsigned long  (Read 2261 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Heyho,

gerade noch ne Frage: Ich speichere time() in einer unsigned long Variable. time() ist in Millisekunden und läuft ab "boot", unsigned long geht bis 4294967295. Das heisst, 4294967295/1000/60/60/24 ~ 50, also nach 50 Tagen ist Schicht. Was passiert dann? Wie wird time() intern gespeichert/gezählt, auch unsigned long? Fängt time() nach 50 Tagen wieder bei 0 an, kriege ich einen Überlauf in meiner Variable, oder zählt diese dann einfach wieder bei 0 weiter?

Falls nicht,  was kann ich machen, kann ich time() resetten, bevors zu groß wird?

(Falschaussagen meinerseits gerne korrigieren)

VG Manu.
Logged

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Es ist beides richtig. Nach knapp 50 Tagen geschieht ein Überlauf und damit geht es wieder bei 0 los.
Ob das problematisch ist hängt von Deinem Verwendungszweck ab.
Logged

_______
Manfred

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 249
Posts: 21188
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo manu79

wenn man die Bedingung der Wartezeit richtig schreibt dann funktioniert das auch bei einem Überlauf.
http://www.arduino.cc/playground/Code/TimingRollover

Grüße Uwe
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danach hatte ich gesucht, danke euch smiley
Logged

Pages: [1]   Go Up
Jump to: