1

所以我正在尝试使用 ORSSerialPort 库读取一些 arduino 输出。如果我使用名为 ORSSerialPortDemo 的 lib 示例代码,一切正常。现在我在演示中唯一想念的是他们如何在 viewController 中使用 SerialPortDemoController.swift。

我创建了一个具有 ViewController.swift 的标准项目。桥头导入完成,所有引用都编译。但我喜欢在代码中设置它们,而不是使用 GUI 来选择 USB 端口和波特率。

像这样的东西:

var serial: SerialPortDemoController?
serial = SerialPortDemoController()
serial.path = "dev/cu.usbserial-A6006hPS"
serial.baudRate = 9600
serial.open()

然后我需要从端口读取。这应该已经可以使用了,函数:func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data)? 所以在这个功能中我可以做这样的事情:

if let string = NSString(data: data, encoding: String.Encoding.utf8.rawValue) 
{
    print(string)
}

我环顾四周,但似乎没有任何效果。如果有人能指出我正确的方向,那就太好了。

谢谢!

4

1 回答 1

0

你有正确的串口设置,即。RTS、DTR、CTS、DSR 和 DCD 引脚?

来自:https ://www.arduino.cc/en/Serial/Begin 默认为 8 个数据位,无奇偶校验,1 个停止位。

是的。端口以“/”开头,即。“/dev/cu.usbserial-A6006hPS”

来自文档的 http://cocoadocs.org/docsets/ORSSerialPort/1.5.1/

使用 ORSSerialPortManager 很简单。要获取共享串行端口管理器:

可可代码:

ORSSerialPortManager *portManager = [ORSSerialPortManager sharedSerialPortManager];

要获取可用端口列表:

NSArray *availablePorts = portManager.availablePorts;
于 2018-01-27T05:38:54.337 回答