www.mikrocontroller.net

Forum: Compiler & IDEs int to char ? Geht das?


Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Ich habe 7 kleine Zählerwerte von denen keiner größer als 100 ist, wenn 
ich ihn übertragen will. Bis dahin können sie aber schnell auch mal 
20000 werden, darum sind sie als int definiert. Zur Übertragung ggf. per 
CAN wäre es aber sehr viel einfacher, wenn ich aus den int chars machen 
könnte. Beim CAN würden dann alle in eine einzige Nachricht passen. Aber 
wie wandelt man ein 2byte int in ein 1byte char um, ohne das der 
Compiler meckert?

Autor: Kai R. (k2r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du gewährleisten kannst, daß die resultierenden Werte nicht größer 
als 255 werden, geht das:

int a;
unsigned char b;

b = (unsigned char) a;


Nennt sich "casten"......

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
unsigned int var = 0xABCD;

unsigned char upper = 0x00;
unsigned char lower = 0x00;

upper = var / 0x100;    //ist jetzt 0xAB
lower = var % 0x100;    //ist jetzt 0xCD



pumpkin

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh ja, mit unsigned char scheint es tatsächlich zu funktionieren.
Danke.

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.