我有一个简单的 SerialController 类:
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()
FT232 的 RX 和 TX 引脚连接在一起,我想接收数据的回波。我可以连接到我的适配器,并且 SendString 方法正确地将数据发送到 FT232 但接收不起作用!。在 cocoaDemo 中我测试了我的 FT232,我可以得到正确的响应。我能做些什么?