首页 > 解决方案 > 在打开端口之前接收到数据时,SerialPort 对象会引发 DataReceived 事件

问题描述

我有这个代码来打开一个串口:

            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 调用,但这也不起作用。

有什么帮助吗?

标签: c#serial-port

解决方案


推荐阅读