Allgemeines zu Char vs. µC Programmierung

OP #869370
Lesenswert?

Hallo an alle,

ich erstelle gerade ein Programm für mein Atmel AT89C51CC03 µC in Keil 
µVision3.

Nun meine Frage:
Ich verwende einige int Variablen. Da diese Variablen aber nur max. den 
Wert 100 annehmen können (keine Kommazahlen), würde ich gerne die 
Variablen anstatt in int in char initialisiereun (beides ist unsigned)um 
Platz zu sparen.
Unsigne int Bereich von 0 bis 4294967295.
Unsigned char Bereich von 0 bis 255.

Kann ich das ohne weiteres so realisieren oder muss ich etwas beachten? 
Ich habe auf einer Seite gelsen, das char nicht verwendet werden sollte, 
da es je nach System zu unerklärbaren Fehlern kommen kann.

Quelle:
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_8_2.shtml

Gruss und schönes WE Sascha
Gast #869381
Lesenswert?

> Ich habe auf einer Seite gelsen, das char nicht verwendet werden sollte,
da es je nach System zu unerklärbaren Fehlern kommen kann.

Schmarrn. Man sollte nur wissen wie die Daten während deren 
Interpretation in andere Datentypen umgewandelt werden. Das kann in der 
Tat heikel werden, allerdings stellt sich die gleiche Problematik, wenn 
man gemischt mit long int und short int arbeitet. Ein Kommentar kann 
hier auch nach Jahren noch Wunder wirken, besonders an den pfiffigen 
Stellen.

Gerade in Mikrocontrollern ist nun mal Platz sparen oberstes Gebot und 
das fängt genau hier an. Eine meiner ersten Zeilen im Code lautet gerne 
einmal:

typedef unsigned char byte;

aber das ist Geschmackssache/Gewohnheit.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren