Was hat PuTTY senden, wenn ich die Enter-Taste drücken?
Ich bin verzweifelt versucht, Holen Sie sich ein Bluetooth-dongle funktioniert mit meinem Arduino, aber ich kann nicht senden Sie einen Befehl, der es braucht. Ich kann es benutzen, wenn ich stecken Sie es in meinem computer über ein USB-zu-UART-chip und senden Sie den Befehl (C
) von Kitt und drücken Sie dann Enter
.
Den Bluetooth-dongle ist Befehl Blatt sagt, dass der Befehl, den ich bin versucht, senden Sie es C<cr>
aber ich kann nicht herausfinden, wie zu senden Sie die korrekte carriage-return-Zeichen aus dem Arduino-code. Ich habe versucht mit der Serial.println()
- Funktion sowie als Zugabe den \r
Charakter meines aktuellen Serial.write("C\r")
doch beide arbeiten.
Wie kann ich das erreichen? - danke.
- Überprüfen Sie Ihre Putty-terminal-Einstellungen, um zu sehen, was es ist, zu senden; Sie können konfigurieren, es zu senden, was Zeilenenden, die Sie wollen.
- Wo ist der "Kitt Neugestaltung" würde ich in der Lage sein zu finden, dass?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Interessanterweise kann ich berichten das Gegenteil auf Win 7: PuTTY für mich und meine embedded-Projekt senden ist NUR '\r' und über den COM-port. Neugierig Lesen Sie: frustraitingly unerklärliche, aber ich schau einfach für eines der Zeichen auf das andere Ende der seriellen Verbindung.
Dann, wenn Sie aktivieren "Implicit LF in every CR' unter Terminal-Optionen, die Sie senden sowohl '\r\n'. Default-Verhalten scheint verwandt zu sein mit einem Commodore Computer 😀 (http://en.wikipedia.org/wiki/Newline)... wer hätte das gedacht...
PuTTY emuliert xterm, vt100 emuliert. Haben Sie putty send CR/LF, wenn Sie die EINGABETASTE drücken, geben Sie ESC[20h in putty nach dem verbinden mit dem seriellen Gerät. Dies setzt VT100 LNM wahr.
http://vt100.net/docs/vt100-ug/chapter3.html
Zeilenvorschub/neue Zeile Neue Zeile ESC [20h Line-feed ESC [20l
Wenn du dir die ascii-Tabelle oder ähnliche Referenz, die Sie interessant finden könnte: \r ou \x0D
Zum besseren Verständnis, siehe : http://www.grok2.com/sedfaq6.html
Auf arduino-Programm, benutzen Sie einfach
Serial.write
und beide Charaktere codes:Und Vermeiden
Serial.print
wie es gedacht ist, als human readable, also formatiert.Referenzen: schreiben drucken
Senden von CR+LF ist möglich im modifizierten PuTTY. Source-code ist verfügbar unter https://github.com/gniemirowski/putty-crlf und Windows-binary auf https://www.grzegorz.net/pliki/putty-crlf.zip Wenn Sie diese version laufen, nur gehen Sie zu Terminal -> Tastatur und wählen Sie "CR LF" für Die "Enter-Taste" option.
Ich bin mir fast sicher, dass Sie sich für die
\n
neue-Zeile-Zeichen.Habe ich versucht, diese sehr einfachen code (cr = carriage return)
Ist und weil der nächste "gedruckt" Woerter wird feed der Rest-text, es ist ok.
Gestern war ich versucht, diesem Problem durch ein anderes problem vor.
In der standard-Konfiguration (Windows und Linux), wenn Man "help" und drücken Sie dann die EINGABETASTE auf der seriellen Schnittstelle wird angezeigt, gefolgt Kette von bits (geprüft mit angeschlossenen externen terminal über RS232 -, und logic-analyzer):
0x68(h) 0x65(e) 0x6c(l) 0x70(p) 0x0d(CR: Carriage Return U+000A)
so scheint, wie PUTTY stellt CR auf ENTER (egal, ob Sie auf Linux oder Windows)