C#上位机解析串口数据的代码
时间: 2023-11-23 08:06:33 浏览: 149
以下是一个简单的 C# 上位机解析串口数据的代码示例:
```csharp
using System;
using System.IO.Ports;
namespace SerialPortTest
{
class Program
{
static void Main(string[] args)
{
SerialPort serialPort = new SerialPort("COM1", 9600); // 创建串口对象
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); // 注册数据接收事件处理程序
serialPort.Open(); // 打开串口
Console.ReadLine(); // 阻塞主线程,等待用户输入
serialPort.Close(); // 关闭串口
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort serialPort = (SerialPort)sender; // 获取串口对象
byte[] buffer = new byte[serialPort.BytesToRead]; // 创建缓冲区
serialPort.Read(buffer, 0, buffer.Length); // 读取数据到缓冲区
string data = BitConverter.ToString(buffer); // 将字节数组转换为字符串
Console.WriteLine("Received data: " + data);
}
}
}
```
在上面的代码中,使用了 SerialPort 类来创建串口对象并打开串口,然后注册了数据接收事件处理程序 DataReceivedHandler。在 DataReceivedHandler 中,首先获取串口对象,然后创建一个缓冲区,将接收到的数据读取到缓冲区中,最后将字节数组转换为字符串并打印出来。
注意,在实际使用中,需要根据串口设备的实际参数来进行配置,例如串口号、波特率、数据位、停止位、校验位等。
阅读全文