在C#中,要监听已经打开的COM(串行)端口,您需要使用System.IO.Ports
命名空间中的SerialPort
类。以下是一个简单的示例,说明如何在C#中监听已经打开的COM端口:
using System;
using System.IO.Ports;
namespace ComPortListener
{
class Program
{
static void Main(string[] args)
{
string comPort = "COM3"; // 请根据实际情况修改串口名称
int baudRate = 9600; // 请根据实际情况修改波特率
SerialPort serialPort = new SerialPort(comPort, baudRate);
try
{
serialPort.Open();
Console.WriteLine($"成功打开串口 {comPort}");
serialPort.DataReceived += SerialPort_DataReceived;
}
catch (Exception ex)
{
Console.WriteLine($"打开串口 {comPort} 时出错: {ex.Message}");
}
Console.ReadLine();
}
private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort serialPort = (SerialPort)sender;
string receivedData = serialPort.ReadExisting();
Console.WriteLine($"从串口 {serialPort.PortName} 接收到数据: {receivedData}");
}
}
}
在这个示例中,我们首先创建了一个SerialPort
对象,并指定了要监听的COM端口名称和波特率。然后,我们尝试打开该端口。如果成功,我们将监听该端口的数据接收事件DataReceived
,并在控制台中输出接收到的数据。
请注意,这个示例仅用于演示如何监听已经打开的COM端口。在实际应用中,您可能需要根据具体情况调整代码,例如设置正确的串口名称和波特率,以及处理异常情况。
领取专属 10元无门槛券
手把手带您无忧上云