const String mit parity bit

Gast #666160
Lesenswert?

Hallo,

ich habe z.B. folgenden String, den ich in einer Header datei definiere:
const unsigned char sting = "text\r".

diesen möchte ich jedoch gleich so eingeben, dass das oberste Bit ein 
parity even Bit der unteren 7 Bits ist. Ich möchte also als letztes 
Zeichen nicht '\r' (0x0D) eingeben, sondern ein Zeichen, was den hex 
Wert 0x8D hat, eingeben.
Gibt es da eine Möglichkeit? das Zeichen 0x8D liegt ja nicht so ohne 
weiteres auf der Tastatur ;-)

Vielen Dank
Martin
Gast #666181
Lesenswert?

oh, ich sehe gerade, dass ich den string nicht als const unsigned char 
hier habe, sondern als define:
#define STRINGNAME "text\r"

mein problem bleibt aber das gleiche, statt '\r' möchte ich ein 0x8D da 
drin stehen haben.
Gast #666201
Lesenswert?

Vielen Dank für Deine lösung, sie klappt aber bei dem #define fall 
leider nicht.

ich habe aber gerade erfahren, dass es ein hex escape zeichen gibt, was 
genau das tut, was ich will:
#define STRINGNAME "text\x8D"

Schönen Tag noch
Gast #666206
Lesenswert?

@rufus
danke auch Dir, da hast Du 'nen punkt angesprochen, den ich glatt 
übersehen hätte.

ist denn "te""xt" immer das gleiche wie "text" ? der compiler hat mir 
schon mal keine probleme rausgeschmissen, aber testern kann ich es 
gerade mangels hardware nicht ausgiebig.
Gast #666244
Lesenswert?

@peda,

ich bin sicher, DASS ich die daten über UART senden will, habe aber das 
problem, dass ich uart auf 8bit no parity stellen muß und nicht auf 7 
bit, parity even stellen kann. (muß auch bytes, die über UART mit 
falscher parität ankommen, ebenfalls mit falscher parität über UART 
weiterleiten und einiges mehr...)

@Jörg
das sollte der WinAVR wohl hinbekommen, vor allem mit der compileroption 
-std=c99

Vielen Dank euch allen

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