www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 8bits variabeln in 16bit variable


Autor: Mokhtar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

  Ich habe einen Problem beim Labor-vorbereitung(Mikroprozessor), ich 
muss eine funktion "unsigned int getElevatorPosition() definieren die 
aktuelle Position eines Aufzugs in 16bit-Zahl zurückliefern, die 
Implemetierung liest die Werte in PortC und D und kombiniert sie! Also 
mein Problem wie kann ich 2 variablen von 8bits in 16bits 
kombienieren??!!
  BITTE UM HILFE!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
uint8_t wert1;
 uint8_t wert2;

  return wert1 << 8 + wert2;

oder

  return wert1 * 256 + wert2;

(ein bischen Mathe ist nicht verboten)

Autor: Frickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
uint8_t a;
uint8_t b;
uint16_t result;

result = (a << 8) | b;
result = (b << 8) | a;
result = (a << 8) + b;
result = (b << 8) + a;
result = (a * 256) | b;
result = (b * 256) | a;
result = a * 256 + b;
result = b * 256 + a;

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
typedef union {
        uint16_t i16;
        struct {
                uint8_t i8l;
                uint8_t i8h;
        };
} convert16to8;

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Samuel K. schrieb:
> typedef union {...}
Ja, dazu solltest du aber vorher wissen, wie diese Union tatsächlich auf 
dem gewünschten Zielsystem implementiert wird (wg. Little- bzw. 
Big-Endian)...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.