在SerialPort类中,可以使用Write方法写入数据,使用Read方法读取数据。以下是一个示例代码,展示了如何在不使用DataReceived事件处理程序的情况下写入和读取数据:
using System;
using System.IO.Ports;
public class SerialPortExample
{
public static void Main()
{
// 创建一个新的SerialPort对象
SerialPort serialPort = new SerialPort("COM1");
// 设置串口的属性
serialPort.BaudRate = 9600;
serialPort.Parity = Parity.None;
serialPort.DataBits = 8;
serialPort.StopBits = StopBits.One;
try
{
// 打开串口
serialPort.Open();
// 写入数据
string dataToWrite = "Hello, SerialPort!";
serialPort.Write(dataToWrite);
// 读取数据
string dataRead = serialPort.ReadExisting();
Console.WriteLine("Received data: " + dataRead);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
finally
{
// 关闭串口
serialPort.Close();
}
Console.ReadLine();
}
}
在上面的示例中,我们创建了一个SerialPort对象,并设置了串口的属性。然后,我们打开串口并使用Write方法将数据发送到串口。接下来,我们使用ReadExisting方法读取串口中的数据,并在控制台上显示接收到的数据。最后,我们关闭串口。
请注意,这只是一个简单的示例,假设你已经知道要写入和读取的数据。如果你需要实时读取串口数据,可能需要使用DataReceived事件处理程序来异步读取数据。