Forum: Compiler & IDEs 24-Bit aus 3x8-Bit


von Schwamm (Gast)


Lesenswert?

Hallo,

ich habe einen 24-Bit Counter IC der die Daten über einen 8-Bit breiten 
Datenport bereit stellt. Er wird folgendenmaßen angesprochen.

Einmal lesen: die 1. 8-Bit
Zweimal lesen: die 2. 8-Bit
Dreimal lesen: die 3. 8-Bit
und wieder von vorne usw...

jetzt möchte ich aber den wahren Wert haben. Wie muss ich das in C 
machen?
Einfach eine Int Variable nehmen und die Bits herein schieben?

Vielen Dank


von irgendein Rahul (Gast)


Lesenswert?

Aus der Hüfte geschossen:

long int ergebnis; // sollten insgesamt 32bit sein, mir fällt die 
Bezeichnung für so lange Variablen gerade nicht ein

unsigned char wert1, wert2, wert3;

ergebnis = wert1 | ((long int) wert2)<<8 | ((long int) wert3)<<16;

Hierbei ist wert1 das LSByte und wert3 das MSByte.

von Schwamm (Gast)


Lesenswert?

Hallo,

ach das kann man also immer so machen, hammer.

Funktioniert.

Danke Danke Danke

von irgendein Rahul (Gast)


Lesenswert?

>ach das kann man also immer so machen,

Ja, gehört zu den C-Grundlagen...

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.