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
> 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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.