私は、シリアル接続を介してArduino UNOとやり取りするOS Xアプリを書いています。現在のところ、UNOから文字列を読み取るのに問題はありませんが、発信文字列に適切な改行文字と復帰文字を送信することはできません。
文字列を送信するコードは次のとおりです。
@IBAction func SendCommand(sender: AnyObject) {
let data = self.sendTextField.stringValue.dataUsingEncoding(NSUTF8StringEncoding)
self.serialPort?.sendData(data)
}
今のところ、プログラムの実行中にメッセージの最後に手動で「\ r\n」を挿入しようとしています。これは、Arduino IDEが独自のシリアルモニターでプログラムで行うことと同等ではありませんか?ただし、私のアプリはこれらのコマンドを復帰改行文字として解釈しません。プログラムでのみ可能ですか?もしそうならどうやって?
前もって感謝します!
結局のところ、コマンドにエスケープ文字を含めるとエスケープ文字が認識されなかったように見えるので、プログラム内でエスケープ文字を修正しました。お時間をいただきありがとうございます!
@IBAction func SendCommand(sender: AnyObject) {
var test = (self.sendTextField.stringValue) + "\r\n"
let data = test.dataUsingEncoding(NSUTF8StringEncoding)
self.serialPort?.sendData(data)
}