webentwicklung-frage-antwort-db.com.de

Was sendet PuTTY, wenn ich die Eingabetaste drücke?

Ich versuche verzweifelt, einen Bluetooth-Dongle mit meinem Arduino zum Laufen zu bringen, aber ich kann ihm keinen Befehl senden, den er benötigt. Ich kann es verwenden, wenn ich es über einen USB-an-UART -Chip an meinen Computer anschließe, den Befehl (C) von PuTTY sende und dann Enter drücke.

Der Befehlsblatt des Bluetooth-Dongles besagt, dass der Befehl, den ich versuche, C<cr> zu senden, aber ich kann nicht herausfinden, wie das richtige Wagenrücklaufzeichen aus dem Arduino-Code gesendet wird. Ich habe versucht, die Funktion Serial.println() zu verwenden sowie das Zeichen \r zu meiner aktuellen Serial.write("C\r") hinzuzufügen, aber keine davon funktioniert.

Wie kann ich das erreichen? -- Danke dir.

8
Sponge Bob

Interessanterweise kann ich unter Win 7 das Gegenteil berichten: PuTTY für mich und mein Embedded-Projekt sendet NUR '\ r' über den COM-Port. Neugierig, lese: frustraitingly unerklärlich, aber ich suche einfach nach einem der beiden Zeichen am anderen Ende der seriellen Verbindung.

Wenn Sie dann in jeder CR 'Implizite LF "aktivieren, wird in den Terminaloptionen"\r\n "gesendet. Das Standardverhalten scheint einem Commodore-Computer zu ähneln: D ( http://en.wikipedia.org/wiki/Newline ) ... wer wusste ...

5
Sowka

PuTTY emuliert das Xterm, das vt100 emuliert. Damit PuTTY beim Drücken von ENTER CR/LF sendet, geben Sie nach dem Verbinden mit dem seriellen Gerät in PuTTY ESC [20h ein. Dies setzt VT100 LNM auf wahr.

http://vt100.net/docs/vt100-ug/chapter3.html

Zeilenvorschub/neue Zeile Neue Zeile ESC [20h Zeilenvorschub ESC [20l

3
bubbasnmp

Verwenden Sie im arduino-Programm einfach Serial.write und beide Zeichencodes:

Serial.write(13);    // CR
Serial.write(10);    // LF

Und vermeiden Sie Serial.print, da er für Menschen lesbar und so formatiert ist.

referenzen: schreibendrucken

2
Luis Siquot

Wenn Sie die ASCII-Tabelle oder eine ähnliche Referenz ansehen, könnten Sie interessant sein:\r ou\x0D

Zum besseren Verständnis siehe: http://www.grok2.com/sedfaq6.html

2
user1701341

Das Senden von CR + LF ist in modifiziertem PuTTY möglich. Der Quellcode ist unter https://github.com/gniemirowski/PuTTY-crlf und Windows Binary unter https://www.grzegorz.net/pliki/PuTTY-crlf.Zip verfügbar Gehen Sie in dieser Version einfach zu Terminal -> Keyboard und wählen Sie "CR LF" für die "The Enter key" - Option.

 enter image description here

1
grzegorz

Gestern habe ich es mit einem anderen Problem versucht. In der Standardkonfiguration (unter Windows und Linux), wenn Sie "help" eingeben und dann die Eingabetaste drücken, erscheint die serielle Schnittstelle, gefolgt von der Bitkette (mit einem extern angeschlossenen Terminal über geprüft) RS232 und Logikanalysator):

0x68 (h) 0x65 (e) 0x6c (l) 0x70 (p) 0x0d (CR: Wagenrücklauf U + 000A)

so scheint PuTTY CR auf ENTER zu setzen (egal, ob Sie Linux oder Windows verwenden)

0
Mazeryt

Ich habe diesen sehr einfachen Code ausprobiert (cr = Wagenrücklauf)

Serial.write(13);

Und weil die nächsten "gedruckten" Zeichen den restlichen Text füttern, ist dies in Ordnung.

0
yannick85

Ich bin fast sicher, dass Sie nach dem neuen Zeilenzeichen \n suchen.

0
uDalillu