C#监控已经打开的串口代码
时间: 2023-12-08 13:20:02 浏览: 34
以下是一个 C# 监控已经打开的串口的示例代码:
```csharp
using System;
using System.IO.Ports;
class Program
{
static void Main(string[] args)
{
// 获取所有已经打开的串口列表
string[] openPorts = SerialPort.GetPortNames();
if (openPorts.Length == 0)
{
Console.WriteLine("No open serial ports.");
return;
}
// 监听所有已经打开的串口
foreach (string port in openPorts)
{
SerialPort serialPort = new SerialPort(port);
serialPort.DataReceived += SerialPort_DataReceived;
serialPort.Open();
}
Console.WriteLine("Monitoring open serial ports. Press any key to exit.");
Console.ReadKey();
}
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort serialPort = (SerialPort)sender;
string data = serialPort.ReadExisting();
Console.Write(data);
}
}
```
该代码使用 `SerialPort.GetPortNames()` 获取已经打开的串口列表,然后对每个串口进行监听,当有数据到达时,会触发 `SerialPort_DataReceived` 事件并将数据打印到控制台上。注意,该代码仅演示如何监听已经打开的串口,并不包含打开和配置串口的代码。在实际的应用中,还需要添加相应的代码来完成这些任务。