Forum: Mikrocontroller und Digitale Elektronik uint runterzählen


von Großes F. (112)


Lesenswert?

Hallöchen,

kurze Frage:

wenn ich einen Uint im Interrupt runterzähle, z.B. uint8, läuft der Wert 
dann "unter" der Null bei 255 weiter oder bleibt er bei Null stehen bis 
Ich ihn wieder auf einen höheren Wert setze?

mfg

von holger (Gast)


Lesenswert?

if(wert) wert--;

von Karl H. (kbuchegg)


Lesenswert?

uint ist wie eine Uhr. Wenn es über 60 (255) bzw. 0 hinausgeht, gehts am 
anderen Ende weiter

 ...  253 254 255 0 1 2 3 ....

 ...  3 2 1 0 255 254 253 ....

von Großes F. (112)


Lesenswert?

ok danke,

d.h. ich muss in meinem Interrupt, in dem ich einen Wert Timeout 
runterzähle diesen stets auf auf Null setzen, wenn er überläuft, oder 
gibt es vielliehct sogar einen Datentyp, der dieses Hamsterradverhalten 
nicht aufweist?

von holger (Gast)


Lesenswert?

>d.h. ich muss in meinem Interrupt, in dem ich einen Wert Timeout
>runterzähle diesen stets auf auf Null setzen, wenn er überläuft, oder
>gibt es vielliehct sogar einen Datentyp, der dieses Hamsterradverhalten
>nicht aufweist?

Siehe die erste Antwort auf deine Frage.

von Oliver J. (skriptkiddy)


Lesenswert?

Großes Fragezeichen schrieb:
> d.h. ich muss in meinem Interrupt, in dem ich einen Wert Timeout
> runterzähle diesen stets auf auf Null setzen, wenn er überläuft, oder
> gibt es vielliehct sogar einen Datentyp, der dieses Hamsterradverhalten
> nicht aufweist?

holger schrieb:
> if(wert) wert--;


Mit Holgers Ansatz läuft nichts über.



Gruß Skriptkiddy

von Karl H. (kbuchegg)


Lesenswert?

Skript Kiddy schrieb:

> holger schrieb:
>> if(wert) wert--;
>
>
> Mit Holgers Ansatz läuft nichts über.

'über' schon.
Aber nicht unter. :-)

von Oliver J. (skriptkiddy)


Lesenswert?

Karl heinz Buchegger schrieb:
> 'über' schon.
> Aber nicht unter. :-)

Weder unter noch über. ;)

Gruß Skriptkiddy

von Route_66 (Gast)


Lesenswert?

Hallo!

Hat uint nicht 16 Bit? Denn dann käme nach 0 ja 65535.

von Oliver J. (skriptkiddy)


Lesenswert?

Route_66 schrieb:
> Hat uint nicht 16 Bit? Denn dann käme nach 0 ja 65535.

Es ist von uint8 die Rede.

von Route_66 (Gast)


Lesenswert?

Stimmt. Jetzt hab ich es auch gesehen. Die Titelzeile hat mich 
irritiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.