mikrocontroller.net

Forum: Compiler & IDEs negative 16bit Variable teilen


Autor: Karl Napf (karlnapf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

wie kann man am besten eine negative 16bit Variable in zwei 8bit 
Variablen aufteilen und anschließend wieder zusammen setzen? Ist für ne 
UART Kommunikation.

Bei positiven gehts recht einfach :
uint_16t Zahl;
uint_8t lowbyte;
uint_8t highbyte;

//Trennen

highbyte = ((Zahl>>8) & 0xFF);
lowbyte = ((Zahl>>0)) & 0xFF);

//Zusammensetzen

Zahl = (lowbyte | (highbyte<<8));

Aber wie mach ich das mit negativen Zahlen?

Gruss Holger

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

Bewertung
0 lesenswert
nicht lesenswert
Holger Brenner wrote:

> Aber wie mach ich das mit negativen Zahlen?

völlig gleich.
Im schlimmsten Fall castest du deinen signed int um auf
unsigned int und wie man den behandelt weist du ja.

Autor: Karl Napf (karlnapf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke - casten hat geholfen.

Gruss

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.