【问题标题】:Insert Newline and Carriage-Return into Swift String在 Swift 字符串中插入换行符和回车符
【发布时间】:2014-12-09 01:17:38
【问题描述】:

我正在编写一个通过串行连接与 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 在其自己的串行监视器中以编程方式执行的操作吗?但是,我的应用程序并未将这些命令解释为回车换行符。是否只能以编程方式实现?如果可以,如何实现?

提前谢谢你!

【问题讨论】:

  • 代码请显示添加 /r/n 和十六进制转储。把复合语句分解成几个简单的语句,这样调试更容易,把所有的方法调用混在一起没有什么好处。
  • 好吧,目前我只是在我的程序中输入了一个命令后输入 \r\n(命令:这是一个命令\r\n),只是为了验证它是否可以工作,但一些不起作用的原因。我想这是转义字符只能在程序中识别,这是正确的吗?

标签: xcode swift arduino


【解决方案1】:

毕竟,当我将转义字符包含在命令中时,它们看起来并没有被识别,所以我已经在程序本身中修复了它。感谢您的宝贵时间!

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

【讨论】:

  • 完美!!谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-16
  • 1970-01-01
  • 2012-01-31
  • 2013-07-05
  • 1970-01-01
  • 2017-12-11
  • 2017-11-14
相关资源
最近更新 更多