private void Start() { serialPort = new MonoSerialPort("COM2"); serialPort.PacketHandler = new TestSerialPortPacketHandler(); serialPort.AddEventListener(SerialPortEvent.Opened, OnSerialPortOpened); serialPort.AddEventListener(SerialPortEvent.DataReceived, OnSerialPortDataReceived); serialPort.AddEventListener(SerialPortEvent.ExceptionCaught, OnSerialPortExceptionCaught); serialPort.AddEventListener(SerialPortEvent.Closed, OnSerialPortClosed); serialPort.Open(); }
private void OnDisable() { if (serialPort != null) { serialPort.Close(); UnityEngine.Debug.Log("close serial port"); serialPort.RemoveEventListener(SerialPortEvent.Opened, OnSerialPortOpened); serialPort.RemoveEventListener(SerialPortEvent.DataReceived, OnSerialPortDataReceived); serialPort.RemoveEventListener(SerialPortEvent.ExceptionCaught, OnSerialPortExceptionCaught); serialPort.RemoveEventListener(SerialPortEvent.Closed, OnSerialPortClosed); serialPort = null; } }