web-dev-qa-db-fra.com

Insérer une nouvelle ligne et un retour chariot dans Swift String

J'écris une application OS X qui interagit avec un Arduino UNO via une connexion série. Il n'a actuellement aucun problème pour lire les chaînes de l'UNO mais je n'arrive pas à lui envoyer les caractères de retour à la ligne et de retour de chariot appropriés sur les chaînes sortantes.

Le code responsable de l'envoi de la chaîne est le suivant:

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

Pour le moment, j'ai tenté d'insérer manuellement "\ r\n" à la fin des messages lorsque le programme est en cours d'exécution. Cela ne devrait-il pas être équivalent à ce que l'Arduino IDE ferait par programme dans son propre moniteur série? Cependant, mon application n'interprète pas ces commandes comme des caractères Newline of Carriage-Return. Est-ce uniquement possible par programme et si oui comment?

Merci d'avance!

14
user3185748

Eh bien, après tout, il semble que les caractères d'échappement n'étaient pas reconnus lorsque je les ai inclus avec la commande, je l'ai donc corrigé dans le programme lui-même. Merci pour votre temps!

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