Arduino Forum

International => Deutsch => Topic started by: wow0r on May 22, 2019, 02:29 pm

Title: Arduino Due 16bit Variable
Post by: wow0r on May 22, 2019, 02:29 pm
Hallo Leute,

Ich habe einen Arduino Due und möchte gerne eine 16 Bit Variable anlegen.
Soweit ich die Referenz verstehe müsste es die Variable 'short' sein. Nun lege ich eine short Variable an und weise dieser die Zahl -1 zu und schreibe diese mit Serial.println('var', HEX); raus.

Was ich dann auf dem Monitor sehe ist ein 0xFFFFFFFF also 32 Bit ?!

Kann mir da jemand weiterhelfen?

Gruß wow0r

Title: Re: Arduino Due 16bit Variable
Post by: Tommy56 on May 22, 2019, 02:37 pm
Mit Serial.println('var', HEX); bekommst Du diese Ausgabe garantiert nicht.
Probier mal als Typ int16_t. Es kann matürlich auch sein, dass für die Ausgabe in int gecastet wird und int ist da 32 Bit breit.

Gruß Tommy
Title: Re: Arduino Due 16bit Variable
Post by: Serenifly on May 22, 2019, 03:02 pm
Möglich dass für short keine extra print() Version existiert und dann int verwendet wird

Dass alle Bits 1 sind passt schon, da die Darstellung im Zweierkomplement ist