2017-04-07 58 views
1

所以我试图用ORSSerialPort lib读取一些arduino输出。 如果我使用名为ORSSerialPortDemo的lib的示例代码,则一切正常。 现在唯一我在演示中错误的是他们如何在viewController中使用SerialPortDemoController.swift。Swift 3 ORSSerialPort从arduino读取

我创建了一个标准项目,它具有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) 
} 

我已经看了看周围,但似乎没有任何工作。如果有人能指出我会朝着正确的方向发展,那将会很棒。

谢谢!

+0

我敢打赌,该路径必须以斜线开头:'序列.path =“/dev/cu.usbserial-A6006hPS”' –

+0

这可能是,但我的问题是更多关于如何使用[ORSSerialPort](https://github.com/armadsen/ORSSerialPort)库。 –

回答

0

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

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

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

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

使用ORSSerialPortManager很简单。为了得到共享串行端口经理:

可可代码:

ORSSerialPortManager *portManager = [ORSSerialPortManager sharedSerialPortManager]; 

要获取可用端口的列表:

NSArray *availablePorts = portManager.availablePorts;