16Bit Timerwert wird ab dem MSB negativ!

OP #1341558
Lesenswert?

Hallo Leute,
ich hoffe jemand kann mir weiterhelfen.

Angehängtes Programm soll den aktuellen Timer1 Wert am Display anzeigen. 
Wird der Timerwert zu groß sehe ich plötzlich eine negative Zahl am 
Display.

Dieser Vorzeichenwechsel geschieht genau dann, wenn das MSB des 
Timerwerts kippt. Ich vermute, dass irgendeine Funktion die 1 ganz links 
als Minus interpretiert (2er Komplement). Ich vewende als Variablentyp 
"unsigned short" 0-65535, liegt darin vielleicht das Problem (habe es 
auch mit anderen Typen versucht)?

Gibt es dazu eine elegante Lösung oder liege ich mit meiner Vermutung 
ganz falsch?

mfg martin

ps.: ich habe einen Atmega8 mit 8Mhz im Einsatz, das Display ist ein 
hd44780 display 2*16 zeichen im 4bit modus
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren