C#串口读取数据实时显示在UI
时间: 2023-12-31 13:05:08 浏览: 89
在C#中,可以使用SerialPort类来读取串口数据,并将数据实时显示在UI中。以下是一个示例代码:
```csharp
using System.IO.Ports;
// 创建SerialPort对象
SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
// 打开串口
serialPort.Open();
// 创建一个线程,用于读取串口数据并更新UI
Thread readThread = new Thread(() =>
{
while (true)
{
// 读取串口数据
string data = serialPort.ReadLine();
// 在UI线程中更新UI
Invoke(new Action(() =>
{
// 将数据显示在TextBox中
textBox1.AppendText(data + "\r\n");
}));
}
});
// 启动线程
readThread.Start();
```
在上面的代码中,首先创建了一个SerialPort对象,并打开了串口。然后创建一个线程,用于读取串口数据并更新UI。在线程中,使用ReadLine方法读取串口数据,并将数据显示在UI中。需要注意的是,由于UI的更新必须在UI线程中进行,因此需要使用Invoke方法将更新操作发送到UI线程中。
阅读全文