Versuchs mal so:
byte_a = (uint8_t)daten;
byte_b = (uint8_t)( daten >> 8 );
Es könnte nämlich sein, dass er optimieren will, und daten schon umwandelt, bevor er den rechts-shift macht...
mfg
zerush
Hi,
ich möchte ein 16bit integer über den I2C Bus sende.
Dazu muss ich ihn ja in 2 Bytes aufteilen.
So sieht mein Code dazu aus:
In "byte_b" steht nur immer ein "0". Egal bei welchem wert von daten.Code:uint16_t daten = 65000; uint8_t byte_a = 0; uint8_t byte_b = 0; byte_a = daten; byte_b = daten >> 8;
Hab schon mehrere Beispiele von aufteilen in 2 Bytes ausprobiert. Gingen aber bisher alle nicht.
Wo ist der Fehler?
MfG Jörn
Meine Page: http://royalclan.de
Versuchs mal so:
byte_a = (uint8_t)daten;
byte_b = (uint8_t)( daten >> 8 );
Es könnte nämlich sein, dass er optimieren will, und daten schon umwandelt, bevor er den rechts-shift macht...
mfg
zerush
Meine Page: http://royalclan.de
Lesezeichen