Go Down

Topic: Immer auf 12 zählen (Read 1 time) previous topic - next topic

hanspeter99

Hi,

wieso funktionier folgendes nicht?

Code: [Select]
void loop() {
i=i++;
if (i>12) {
   (i=0);
 }
delay(1000);
}


er zählt immer:

1,2,3,4,5,6,7,8,9,10,11,12,02,12,22,32,42,52....

er soll aber immer von 1 bis 12 zählen.

Gruß

hanspeter99

Ohhhhh.....
er hat richtig gezählt, nur überschreibt er das Display nicht....

Joghurt

#2
Jan 18, 2011, 08:32 pm Last Edit: Jan 18, 2011, 08:33 pm by Joghurt Reason: 1
Tipp: Wenn Du statt nem "clear()" hinter der Zahl ein Leerzeichen ausgibst hast Du das Problem nicht, und es flackert dabei auch nicht.
;)

uwefed

Oder Du gibst bei Zahlen kleiner 10 vorher ein Leerzeichen aus und so bleibt die Einerstelle immer an der geleichen Stelle.
Grüße Uwe

MaFu

#4
Jan 19, 2011, 04:01 pm Last Edit: Jan 19, 2011, 04:02 pm by MaFu Reason: 1
Übrigens reicht anstelle von
Code: [Select]
i=i++;einfach
Code: [Select]
i++;i++ ist ja die (optimierte) Kurzform von i=i+1
_______
Manfred

Robdeflop

Hi

Nicht nur var = var++ geht, sondern auch var +=, -=.... wert, funzt einwandfrei :) Sehe das bei sehr vielen codes dass immer mit var = var + wert... verwendet wird^^

MFG, Robdeflop®

MaFu

Daran erkennt man immer sofort die Programmieranfänger. Alteingesessene C Programmierer sind in der Regel schreibfaul.
Code: [Select]
i=++i>12?0:i;
Sorry, konnt ich mir jetzt nicht verkneifen  8-)
_______
Manfred

MaFu

Wobei es ja noch kürzer geht:
Code: [Select]
i=++i%13;
_______
Manfred

Robdeflop

Hi

DANN bevorzuge ich aber eine klein wenig längere schreibweise, weil für mich alles ordentlich aussehen muss^^ Wenn ich nen längeren code habe, dann verhaspel ich mich durch solche faulheiten oft :D
(obwohl ich zugeben muss dass ich mindestens so faul wäre das so zu schreiben wie du MaFu  ::) )

Ich denk nu aber wieder Back to Topic wa?  ;D

MFG, Robdeflop®

Go Up