请你写一个串口通信 的DataReceived事件
时间: 2024-03-09 13:48:42 浏览: 133
ComEvent_First1.rar_datareceived
好的,下面是一个C#语言的串口通信DataReceived事件的示例代码:
```
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//获取串口对象
SerialPort sp = (SerialPort)sender;
//获取数据长度
int len = sp.BytesToRead;
//创建缓存区
byte[] buf = new byte[len];
//从串口读取数据
sp.Read(buf, 0, len);
//将数据转换成字符串
string str = Encoding.ASCII.GetString(buf);
//在文本框中显示接收到的数据
textBox1.Invoke(new Action(() => { textBox1.AppendText(str); }));
}
```
在上述代码中,当串口接收到数据时,DataReceived事件会被触发。在事件处理函数中,首先获取串口对象,然后获取接收到的数据长度,并创建缓存区来存储数据。接着,从串口中读取数据,并将数据转换成字符串。最后,在文本框中显示接收到的数据。
需要注意的是,在修改UI界面时,需要使用Invoke方法来确保在UI线程中执行。
阅读全文