我有以下代码可以打开串行端口:
SerialPort port = new SerialPort(portName);
port.BaudRate = 9600;
port.Handshake = Handshake.None;
_serialPorts.Add(name, port);
port.Open();
port.DiscardInBuffer();
port.DataReceived += port_DataReceived;
问题在于,如果在调用Open之前接收到数据,则会使用未决数据调用port_DataReceived。
我添加了port.DiscardBuffer调用,以防万一,但这也不起作用。
有帮助吗?