SerialPort открыт, но выдает исключение NullReferenceException для BytesToRead

Я создал SerialPort, и могу проверить, что он не является нулевым, и что SerialPort.IsOpen() возвращает true. Но когда я проверяю свойство BytesToRead, я получаю исключение NullReferenceException.

NullReferenceException: Object reference not set to an instance of an object
  System.IO.Ports.WinSerialStream.get_BytesToRead ()
  System.IO.Ports.SerialPort.get_BytesToRead ()
  (wrapper remoting-invoke-with-check) 
  System.IO.Ports.SerialPort:get_BytesToRead ()
  ...

Я могу перейти к отладчику и убедиться, что непосредственно перед вызовом BytesToRead последовательный порт установлен и открыт, но отладчик не может достичь определенных свойств, включая BytesToRead.

"System.IO.Ports.SerialPort"
    base: "System.IO.Ports.SerialPort"
    BaseStream: {System.IO.Ports.WinSerialStream}
    BaudRate: 9600
    BreakState: false
    BytesToRead: System.NullReferenceException: Object reference not set to an instance of an object
    BytesToWrite: System.NullReferenceException: Object reference not set to an instance of an object
    CDHolding: false
    CtsHolding: true
    DataBits: 8
    DiscardNull: System.NotImplementedException: The requested feature is not implemented.
    DsrHolding: false
    DtrEnable: false
    Encoding: {System.Text.ASCIIEncoding}
    Handshake: None
    IsOpen: true
    NewLine: "\r\n"
    Parity: None
    ParityReplace: System.NotImplementedException: The requested feature is not implemented.
    PortName: "COM3"
    ReadBufferSize: 4096
    ReadTimeout: 50
    ReceivedBytesThreshold: System.NotImplementedException: The requested feature is not implemented.
    RtsEnable: false
    StopBits: One
    WriteBufferSize: 2048
    WriteTimeout: -1

Что может быть не так?

1 ответ

Решение

Кажется, это было ошибкой для Unity с 2016 года. Они "отложили" работу над этим.

Обходной путь - использовать экспериментальную версию.NET 4.6, если вы можете без проблем перейти на нее в своем проекте.

https://issuetracker.unity3d.com/issues/serialport-bytestoread-returns-null-reference

Другие вопросы по тегам