https://blog.youkuaiyun.com/fengda2870/article/details/51554838?utm_source=blogxgwz4
上面的链接给出了提示:
将Invoke变为BeginInvoke。
亲测可行。
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)//串口数据接收事件
{
byte[] byteArray = new byte[1024];
//int len = sp.Read(byteArray, 0, 1024);//字符串方式读
string s = sp.ReadExisting();
//string str = System.Text.Encoding.Default.GetString(byteArray);
this.BeginInvoke(new Action(() =>
{
textBox1.AppendText(s);
}));
}
下面还有一篇关于串口相关的介绍:
C# 串口操作系列(2) – 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?