请教串口接收问题
写了一个串口接收程序,功能就是当串口来数据时会将数据通过invoke显示到label控件中。我给串口不停的发送一个字符串,当停止发送数据时,仍然有这个字符串接收到,这是为什么呢?有没有办法停止发送了就不再接收之前的数据?
void port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialReadString = String.Empty;
serialReadString = sp.ReadLine();
MessageBox.Show(serialReadString);
label35.BeginInvoke(new System.EventHandler(ax),serialReadString);
}
停止发送后,仍然不停有对话框弹出,显示这串字符串,但是串口监听软件看不到有字符串,
[解决办法]
关闭清除后,再将事件移除
private SerialPort serialPort = new SerialPort();
this.serialPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
this.serialPort.DataReceived -= new SerialDataReceivedEventHandler(port_DataReceived);