Forum: Mikrocontroller und Digitale Elektronik 16 bit Variable in zwei 8 bit Variablen aufteilen


von Stefan (Gast)


Lesenswert?

Hallo zusammen.

Ich möchte integer (16 bit) per UART versenden.

Der UART sendet immer ein Byte (8bit). Das bedeutet ich muss meine 
integer variablen in zwei Durchgängen senden.

Daher meine Frage:
Wie kann ich eine 16 bit Variable in zwei 8 bit Variablen aufteilen?

Vielen Dank

von LordZiu (Gast)


Lesenswert?

uint8_t low = (uint8_t)integer_16;
uint8_t high = (uint8_t)(interger_16 >> 8);

Musst allerings vorzeichen beachten!

von Volker S. (volkerschulz)


Lesenswert?

LSByte = 16BInt AND 255

MSByte = (16BInt AND 65280) / 256

Volker

von Stefan (Gast)


Lesenswert?

Danke

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.