2014-12-09 6 views
13

Ich schreibe eine OS X-App, die über eine serielle Verbindung mit einem Arduino UNO interagiert. Es hat derzeit kein Problem, Strings von der UNO zu lesen, aber ich kann es nicht schaffen, die richtigen Newline- und Carriage-Return-Zeichen für ausgehende Strings zu senden.Fügen Sie Newline und Carriage-Return in Swift String ein

Der Code für die Zeichenfolge zu senden ist wie folgt:

@IBAction func SendCommand(sender: AnyObject) { 
    let data = self.sendTextField.stringValue.dataUsingEncoding(NSUTF8StringEncoding) 
    self.serialPort?.sendData(data) 
} 

Für den Moment I versucht haben, um manuell Einfügen ‚\ r \ n‘ am Ende der Nachrichten, wenn das Programm läuft. Sollte das nicht dem entsprechen, was die Arduino-IDE programmatisch in ihrem eigenen seriellen Monitor tun würde? Meine App interpretiert diese Befehle jedoch nicht als Newline of Carriage-Return-Zeichen. Ist es nur programmatisch möglich und wenn ja wie?

Vielen Dank im Voraus!

+0

Der Code zeigt das Hinzufügen von/r/n und auch Hex-Dumps. Wenn Sie die zusammengesetzte Anweisung in mehrere einfache Anweisungen aufteilen, wird das Debuggen vereinfacht, und es gibt nichts zu gewinnen, wenn Sie alle Methodenaufrufe zusammenmischen. – zaph

+0

Nun für den Moment habe ich einfach \ r \ n eingegeben, nachdem ich einen Befehl in meinem Programm eingegeben hatte (Befehl: Dies ist ein Befehl \ r \ n), nur um zu überprüfen, dass es funktionieren würde, aber aus irgendeinem Grund hat das nicht funktioniert . Ich stelle mir vor, dass die Escape-Zeichen nur innerhalb des Programms erkannt werden, ist das korrekt? – user3185748

Antwort

30

Gut, schließlich sieht es so aus, als würden die Escape-Zeichen nicht erkannt, wenn ich sie mit dem Befehl einfüge, also habe ich es im Programm selbst behoben. Vielen Dank für Ihre Zeit!

@IBAction func SendCommand(sender: AnyObject) { 
    var test = (self.sendTextField.stringValue) + "\r\n" 
    let data = test.dataUsingEncoding(NSUTF8StringEncoding) 
    self.serialPort?.sendData(data) 
} 
Verwandte Themen