我正在编写一个OS X应用程序,它通过串行连接与Arduino UNO交互。它目前从UNO读取字符串没有问题,但我无法在传出字符串上向其发送正确的换行符和回车字符。
负责发送字符串的代码如下:
@IBAction func SendCommand(sender: AnyObject) {
let data = self.sendTextField.stringValue.dataUsingEncoding(NSUTF8StringEncoding)
self.serialPort?.sendData(data)
}
目前我尝试在程序运行时在消息末尾手动插入'\ r \ n'。这不应该等同于Arduino IDE在其自己的串行监视器中以编程方式进行的操作吗?但是我的应用程序没有将这些命令解释为Carriage-Return字符的Newline。它是否只能以编程方式进行,如果是这样的话?
提前谢谢!
答案 0 :(得分:34)
好吧,看起来当我将命令包含在命令中时,转义字符未被识别,所以我已将其修复到程序本身。谢谢你的时间!
@IBAction func SendCommand(sender: AnyObject) {
var test = (self.sendTextField.stringValue) + "\r\n"
let data = test.dataUsingEncoding(NSUTF8StringEncoding)
self.serialPort?.sendData(data)
}