STM32 - UART - Problem beim Senden von \n\r

OP #5943438
Lesenswert?

Hallo,

ich möchte den String "mac get appeui\r\n" per UART an ein Funkmodul 
senden.
1
char *user_data = "mac get appeui\r\n";
2

3
uint16_t len_of_data = strlen(user_data);
4
HAL_UART_Transmit(&huart2, (uint8_t*)user_data, len_of_data, HAL_MAX_DELAY);

Mit dem Oszi an Tx gemessen wird folgendes versendet:

6d 61 63 20 67 65 74 20 61 70 70 65 75 69 0d 0a

mac_get_appeui ??

\r\n sollte aber eigentlich 5c 72 5c 6e sein und nicht 0d 0a!

Wo mache ich hier einen Fehler?
Beitrag #5943447 wurde von einem Moderator gelöscht.
#5943467
Lesenswert?

M. G. schrieb:
> \r\n sollte aber eigentlich 5c 72 5c 6e sein und nicht 0d 0a!

Wenn du das wirklich willst musst du \\r\\n schreiben.

In C und anderen Sprachen wird der Backslash als Escape-Zeichen 
verwendet, damit das Zeichen danach eine andere Bedeutung hat. Will man 
ein Backslash ausgeben, muss man ihn zweimal schreiben.

https://de.wikipedia.org/wiki/Maskierungszeichen
Gast #5943472
Lesenswert?

M. G. schrieb:
> test schrieb:
> M. G. schrieb:
> ich möchte den String "mac get appeui\r\n" per UART an ein Funkmodul
> senden.
>
> Sicher das du das möchtest? Oder möchtest du doch "mac get appeui" an
> das Modul senden und die Zeile per Wagenrücklauf gefolgt von
> Zeilenvorschub abschließen?
>
> Ja, genau!

Du hast auf eine entweder/oder Frage mit "Ja" geantwortet. Das ist 
irgendwie verwirrend ;-)
OP #5943480
Lesenswert?

Christian K. schrieb:
> M. G. schrieb:
>> \r\n sollte aber eigentlich 5c 72 5c 6e sein und nicht 0d 0a!
>
> Wenn du das wirklich willst musst du \\r\\n schreiben.
>
> In C und anderen Sprachen wird der Backslash als Escape-Zeichen
> verwendet, damit das Zeichen danach eine andere Bedeutung hat. Will man
> ein Backslash ausgeben, muss man ihn zweimal schreiben.
>
> https://de.wikipedia.org/wiki/Maskierungszeichen

Danke für die Info!

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