backspace r in seriellen monitor ausgeben

Hallo
ich arbeite gerade an einem Programm und bin schon ziemlich früh gescheitert
das Programm soll am ende eine Schnittstelle zwischen zwei geraten bilden.
ich bekomme einen String geschickt der z.B so aussieht: "RW00015765"
am ende wird noch ein backspace r immer mitgeschrieben. ich muss auch ungefähr den gleichen String mit einem backspace r als Endzeichen zurückgeben. Da ich die beiden geräte noch nicht habe wollte ich schonmal zum testen eine kommuikation mit zwei arduinos machen einfach um schonmal vorzubereiten. da ist mir aufgefallen dass ich kein \r erhalte. der String den ich schicke sieht so aus

char * output = "-RW00015756\r";

kann das daran liegen, dass \r eine Funktion aufruft oder so?
die Sache ist die, ich muss diesen \r lesen und senden können kennt jemand hier einen weg das \r wirklich als String Format zu senden und empfangen?
danke schonmal im voraus für die antworten

char * output = "-RW00015756\\r";

See: Escape sequences - cppreference.com

Meinst Du Backslash \ oder Backspace?
'\r' in einem String wird als unsichtbares (non printable) CR (carriage return) ausgegeben und beendet meist eine Zeile, oft zusammen mit '\n' (NL, newline). Im Serial Monitor sieht man also keine solche Zeichen am Zeilenende, nur folgt die nächste Ausgabe auf der nächsten Zeile.

dankeschön

Im Serial Monitor sieht man also keine solche Zeichen am Zeilenende, nur folgt die nächste Ausgabe auf der nächsten Zeile.

Der Serial Monitor der Arduino IDE kann leider auch keinen Wagenrücklauf ohne Zeilenvorschub.
Wenn man sowas (eine stehende Zeile deren Inhalt sich ändert) will, möchte man meist auch mehr. Ganz alte Veteranen erinnern sich an Steuersequenzen mit denen man auf Textseiten hin und her hüpfen konnte, und das Stichwort VT100 kommt. Gibt Terminal-Programme, die das immer noch können, aber eben nicht der Arduino Serial Monitor.

Mt den verschiedenen Zeilenenden in Dateien hat man sich darauf geeinigt, daß praktisch jede Kombination von \r und \n, einzeln oder alleine, als Zeilenende und Fortsetzung am Anfang der nächsten Zeile gewertet wird. Dann funktioniert das bei Windows, Linux und MacOS gleichartig.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.