Keil C51 - binäre Zahlendarstellung

OP #1496298
Lesenswert?

Hallo,

folgender simpler Sachverhalt:
Ich möchte gerne im Keil C51-compiler feste binäre Werte auf Bytes 
zuweisen.
leider kann ich im Handbuch nich die richtige Notation dafür finden.
Gesucht wird sowas wie:

BYTE Out_port;

Out_port = b'11001010';    // so ähnlich läuft das in Verilog

Gibt es eine solche Notation in C?
viele Grüße

Juppy
Gast #1496325
Lesenswert?

> Jörg, Dein Einsatz !!
Ich bin zwar nicht Jörg, aber ich kann denke ich trotzdem die Antwort 
geben :)

Ich hab das auch schon versucht, aber es ist keine Standard C Notation 
dafür vorhanden und somit kann das kein C Compiler. Ich habe mir damals 
so beholfen, dass ich eine Headerdatei erstellt habe, in der ich das 
dann umgeschlüsselt habe:
1
...
2
#define B00000000 0
3
#define B00000001 1
4
#define B00000010 2
5
...
Wichtig ist, dass das erste Zeichen ein Buchstabe ist und keine Zahl 
oder ein Sonderzeichen.
Mit ein bisschen Kenntnis von Excel und einem passenden Texteditor 
(z.B.TextPad) hat man das Headerfile in zwei Minuten erstellt und muss 
nicht mühsam alle Werte von Hand eintragen.

Ralf
Gast #1496356
Lesenswert?

Hallo Johannes,

direkt war das nicht möglich (ca. 4 Jahre her) aber mit
einem Define als Trick.
1
#define Bin_to_Byte(b7,b6,b5,b4,b3,b2,b1,b0) ((b7 << 7)+(b6 << 6)+(b5 << 5)+(b4 << 4)+(b3 << 3)+(b2 << 2)+(b1 << 1)+b0)

Man muß halt die Kommas akzeptieren.

avr

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