2017-04-07 123 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;