Forum: Compiler & IDEs (GCC) Bitshifting mit 2Bytes


von Der M. (naeschd)


Lesenswert?

Hallo ich habe folgendes Problem und tüftle schon eine Weile daran. Ihr 
werdet bestimmt damit kein Problem haben aber mir fehlt da leider die 
Erfahrung wie man das macht. (GCC)

Ich habe 2 Bytes...

Diese 2 Bytes sollen mit 2 Variablen beschrieben werden.
Jedoch soll die erste Variable (9bit) ins Byte1 und ins MSB des Byte2 
geschrieben werden.
Die zweite Variable (7bit) soll in die 7 verbleibenden ("LSB") des 2. 
Bytes geschrieben werden...

Also praktisch


<----Byte1------> <----Byte2------>
|x|x|x|x|x|x|x|x| |x|y|y|y|y|y|y|y|
<----Variable1------><-Variable2-->

Könnt ihr mir bitte helfen. Ich vermute man macht das mit Bitshifting 
aber ich komm da gerade nicht weiter... (Benutze AVR Studio GCC, 
ATmega88)
Ich danke euch!

: Verschoben durch Moderator
von Florian W. (Gast)


Lesenswert?

Also ich seh da mehrere Varianten, hier eine mit IF:
1
Byte2 = Variable2;
2
Byte1 = (Variable1 >> 1);
3
IF(Variable1 & 1) Byte2 += 128;

von Der M. (naeschd)


Lesenswert?

Super vielen Dank!

Sorry fürs falsche Forum!

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.