winform串口读函数
时间: 2024-12-07 19:03:49 浏览: 5
WinForm中的串口读取函数主要涉及System.IO.Ports命名空间下的SerialPort类。以下是一个基本的示例,展示了如何打开串口、设置波特率,并监听接收的数据:
```csharp
using System.IO.Ports;
// 创建SerialPort实例
SerialPort serialPort = new SerialPort("COM1", 9600); // 指定串口号和波特率
// 打开串口
serialPort.Open();
try
{
// 设置数据接收缓冲区大小
serialPort.BytesToReadChanged += (sender, e) =>
{
if (serialPort.BytesToRead > 0)
{
byte[] buffer = new byte[serialPort.BytesToRead];
serialPort.Read(buffer, 0, buffer.Length);
// 在这里处理接收到的数据
string receivedData = Encoding.ASCII.GetString(buffer);
Console.WriteLine($"Received: {receivedData}");
}
};
// 开始接收数据
serialPort.DataReceived += (sender, e) => serialPort.ReadExisting();
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
// 关闭串口时记得释放资源
serialPort.Close();
```
这个例子中,`Read`方法用于从串口读取数据,`ReadExisting`则会立即返回当前缓冲区中所有的可用数据。你需要根据实际需求调整缓冲区大小和数据处理逻辑。
阅读全文