Nano-Klon, Probleme bei längeren Zeiten

Hallo an alle,

ich habe hier 5 billige Nano-Klone aus China, die alle das gleiche Problem zeigen:

Zum Beispiel läuft Hellmuths Sketch hier Steuerung Kurzzeitfotografie - Deutsch - Arduino Forum einwandfrei, solange Zeiten unter 32000 millis liegen. Ab 33000 millis bleibt das Programm hängen.

Blink without delay arbeitet mit längeren Zeiten (ausprobiert mit 40000 millis), fängt aber mit LED low an statt mit high.

Kennt jemand von euch dieses Verhalten? Ist es irgendwie behebbar? Oder kann ich mir diese Nanos besser als Schmuck um den Hals hängen?

Gruss
Bernhard

Da wird eine Zeit als int deklariert sein oder eine Zwischenrechnung wird nur in int gemacht (was Standard ist wenn man nichts dagegen unternimmt). Ein int geht maximal bis 2 ^ 15 - 1 = 32767

Nimm unsigned long und führe Zwischenrechnungen wenn nötig in unsigned long durch, dann hast du diese Probleme nicht

bastler3:
Kennt jemand von euch dieses Verhalten? Ist es irgendwie behebbar? Oder kann ich mir diese Nanos besser als Schmuck um den Hals hängen?

Ein 16-bit "int" läuft beim Stand von +32767 in den negativen Bereich über. Also nach +32767 kommt −32.768.

Hast Du schon mal was von negativen Zahlen gehört, die mit einem vorzeichenbehafteten "int" darstellbar sind, oder Dir schon mal über den darstellbaren Wertebereich Gedanken gemacht?

Auch wenn ganze Zahlen in der Mathematik grundsätzlich keine obere Grenze haben, so gibt es in der Digitaltechnik doch eine Grenze, welche Zahl sich mit 8, 16, 32 oder 64 Bit darstellen läßt, und wo der Wertebereich dann überläuft. Bei vorzeichenlosen 'unsigned' Werten mit Überlauf auf Null, und bei vorzeichenbehafteten 'signed' Werten in den negativen Bereich.

Danke, hab´s begriffen

Bernhard