阅读量:0
在C#中,可以通过DataReceived事件来监控数据的接收情况,并将接收到的数据记录到日志中。以下是一个简单的示例代码:
using System; using System.IO.Ports; class Program { static void Main() { SerialPort serialPort = new SerialPort("COM1", 9600); serialPort.DataReceived += SerialPort_DataReceived; serialPort.Open(); Console.WriteLine("Press any key to stop monitoring..."); Console.ReadKey(); serialPort.Close(); } private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { SerialPort serialPort = (SerialPort)sender; string data = serialPort.ReadExisting(); // 将接收到的数据记录到日志中 LogData(data); } private static void LogData(string data) { using (StreamWriter sw = new StreamWriter("log.txt", true)) { sw.WriteLine($"[{DateTime.Now}] Received: {data}"); } } }
在上面的示例中,我们首先创建了一个SerialPort对象并打开串口,然后通过DataReceived事件来监控数据的接收情况。当数据被接收时,会调用SerialPort_DataReceived方法将数据记录到日志中。日志文件将会在程序运行目录生成一个log.txt文件,并将接收到的数据以时间戳的形式记录在文件中。
通过以上示例,我们可以实现对数据的接收情况进行监控,并将接收到的数据记录到日志中,方便后续的分析和处理。