Forum: Mikrocontroller und Digitale Elektronik C18 8bit übernehmen


von Eule (Gast)


Lesenswert?

Hallo

Wie kann ich in C18 von einer 2 byte Variabel:
-die unteren 8 Bit
-die oberen 8 Bit übernehmen
?

von Eule (Gast)


Lesenswert?

keiner einen Vorschlag?

von Gerhard (Gast)


Lesenswert?

Vorschlag:

stell deine Frage vernünftig! Überleg mal, was du jemandem, der nichts 
von deinem Problem weiß, alles mitteilst.

Gerhard

von chief (Gast)


Lesenswert?

c oder asm?

von Eule (Gast)


Lesenswert?

in c (C18)

also z.B. Variabel= 0b1100.1100.1111.1111
highbyte = 0b1100.1100
lowbyte  = 0b1111.1111

von microchip (Gast)


Lesenswert?

wie wäre es mit einer union?

union
{
  unsigned int VBatt;
  unsigned char VBattByte[2]; //0=LSB, 1=MSB
}Battery;

Variabel = Battery.VBatt             //16Bit
highbyte = Battery.VBattByte[1]      //8Bit LSB
lowbyte = Battery.VBattByte[0]       //Bit MSB)

von Eule (Gast)


Lesenswert?

es müsste doch irgendwie so gehen:

lowbyte = (variabel >>8);
highbyte= (variabel <<8);

oder?

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.