在C#中,使用SerialPort端口对象的dataReceived事件可以通过以下步骤实现:
System.IO.Ports
命名空间,以便使用SerialPort类。using System.IO.Ports;
SerialPort serialPort = new SerialPort("COM1", 9600);
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("接收到的数据: " + indata);
}
serialPort.Open();
完整的代码示例如下:
using System;
using System.IO.Ports;
class SerialPortExample
{
static void Main()
{
SerialPort serialPort = new SerialPort("COM1", 9600);
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
serialPort.Open();
Console.WriteLine("按任意键退出...");
Console.ReadKey();
serialPort.Close();
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("接收到的数据: " + indata);
}
}
这样,当串口接收到数据时,dataReceived事件就会被触发,并调用DataReceivedHandler方法处理接收到的数据。
没有搜到相关的文章