Forum: Mikrocontroller und Digitale Elektronik C18 Compiler kennt kein Variablentyp bit Was tun ?


von tom (Gast)


Lesenswert?

Hallo,
muss einen source code von Hi-Tech-C nach C18 umsetzen.
Was mach ich am besten mit dem datentyp bit, den gibts bei C18 nicht.
Integer draus machen ist nicht so gut weil sehr oft folgendes Konstrukt 
verwendet wird:

   bit a;
  ...
  ...

  a= ~a;

von Klaus Falser (Gast)


Lesenswert?

Du kannst einen unsigned type verwenden.
Ob integer oder char hängt von deinen Microcontroller ab.
Ich würde einfach einen type bit mit typedef definieren, z.B.
typedef unsigned char bit;

Klaus

von guro (Gast)


Lesenswert?

entweder so:

typedef struct _bit
{
    unsigned b : 1;
} bit;

bit a;
...
a.b = ~a.b;

oder besser du nimmst einfach 'int'. für alle operatoren, logische und 
arithmetische ist es wurscht. wenn du den wert dann irgwendiwe ausgeben 
willst, nimmst du einfach das niederwertigset bit (a&1)
;)

von tom (Gast)


Lesenswert?

Danke,

werde mal das struct ausprobieren.

kann ich das dann eventuell mit nem Makro abkürzen ?

#define a.b a     geht wohl nicht ?

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.