1

ORSSerialPort を使用して、シリアル ポートとの間でデータを送受信しようとしています。

ここの例に従っていますが、コマンドライン アプリを使用しています: https://github.com/armadsen/ORSSerialPort/tree/master/Examples/ORSSerialPortDemo

必要なすべてのメソッドをコピー/実装したと思いますが、問題はシリアルポートにデータを送信できますが (シリアルポートログから二重に確認し、送信に成功しました)、何も受信できないことです。

私のコードは以下のように非常に単純です。これはプロトタイプであることのみを意図しているため、コードが適切に設計されていない可能性があります。

シリアルポートからデータを受信できないということはありますか? 任意の提案をいただければ幸いです。

import ORSSerial


class SerialController : NSObject, ORSSerialPortDelegate {
        var port : ORSSerialPort?

        init(path: String){
            port = ORSSerialPort(path: path)
            port?.close()
        }

        func open(){
            port?.baudRate=115200
            port?.delegate=self
            port?.open()
        }

        func close(){
            port?.delegate=nil
            port?.close()
        }

        func SendString(data: String){
            let dataa = Data(data.utf8)
            port?.send(dataa)
        }

    func serialPortWasOpened(_ serialPort: ORSSerialPort) {
            print("PORT IS OPEN....")
        }

    func serialPortWasClosed(_ serialPort: ORSSerialPort) {
            print("PORT IS CLOSE")
        }

    func serialPort(_ serialPort: ORSSerialPort, didReceive data: Data) {
        print(NSString(data: data as Data, encoding: String.Encoding.utf8.rawValue)!)
        }

    func serialPortWasRemovedFromSystem(_ serialPort: ORSSerialPort) {
            print("PORT REMOVED")
        }

    private func serialPort(serialPort: ORSSerialPort!, didEncounterError error: NSError!) {
        print("PORT ERR \(String(describing: error))")
        }
    }



var mySerial = SerialController(path: "/dev/myserialport")

mySerial.open()

mySerial.SendString(data: "test")
4

1 に答える 1