我有一個簡單SerialController類:爲什麼ORSSerialPort接受委託不要在我的雨燕項目工作
class SerialController : NSObject, ORSSerialPortDelegate {
var port : ORSSerialPort
init(path: String){
port=ORSSerialPort(path: path)
port.close()
}
func open(){
port.baudRate=9600
port.delegate=self
port.open()
}
func close(){
port.delegate=nil
port.close()
}
func SendString(data: String){
port.sendData(data.dataUsingEncoding(NSUTF8StringEncoding))
}
func serialPortWasOpened(serialPort: ORSSerialPort!) {
println("PORT IS OPEN....")
}
func serialPortWasClosed(serialPort: ORSSerialPort!) {
println("PORT IS CLOSE")
}
func serialPort(serialPort: ORSSerialPort!, didReceiveData data: NSData!) {
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
func serialPortWasRemovedFromSystem(serialPort: ORSSerialPort!) {
println("PORT REMOVED")
}
func serialPort(serialPort: ORSSerialPort!, didEncounterError error: NSError!) {
println("PORT ERR \(error)")
}
}
和發送數據到FT232適配器一個簡單的代碼
func readLine()->String{
return NSString(data:NSFileHandle.fileHandleWithStandardInput().availableData, encoding: NSUTF8StringEncoding)
}
let myPort = SerialController(path: "/dev/cu.usbserial-CN920229")
myPort.open()
println("type your data to send...")
let k = readLine()
myPort.SendString(k)
myPort.close()
RX和TX引腳的的FT232連接在一起,我想接收數據回聲。 我可以連接到我的適配器和SendString方法正確地發送數據到FT232但收到不起作用! 在可可演示我測試我的FT232,我可以得到正確的迴應。 我能做什麼?
上面的代碼是否真的編譯?如果我在我的代碼中使用完全相同的Class串行控制器:我得到一個「可選類型'ORSSerialPort'的值沒有解開;你的意思是使用!或者'port = ORSSerialPort(path:path)'if我使用!它會編譯,但然後在同一行上得到一個運行時異常?我使用最新的Xcode與swift 2.x? – 2016-02-22 02:11:10