串口通通信代码示例:
在C#开发环境中,System.IO.Ports命名空间提供SerialPort类支持串口通信。
以下是一个基本的示例,用于开启和关闭串口,以及发送和接收数据。
using System.IO.Ports;
class SerialPortProgram
{
// 创建新的串口
SerialPort mySerialPort = new SerialPort("COM1");
public SerialPortProgram()
{
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
mySerialPort.Open();
Console.WriteLine("Press any key to continue...");
Console.WriteLine();
Console.ReadKey();
mySerialPort.Close();
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("Data Received:");
Console.Write(indata);
}
public static void Main()
{
SerialPortProgram port = new SerialPortProgram();
}
}
该示例首先初始化与串口通信所需的基础参数,如波特率,奇偶校验位,停止位,数据位和握手协议等。然后定义一个处理数据接收的事件。当数据通过串口接收时,将调用DataReceivedHanlder方法,此方法将读取和打印接收到的数据。
另请注意,打开串口之后,直到用户按下键盘上的任意键,串口才会关闭。在此示例中,SerialPortProgram自身就是一个调用端,你当然可以根据实际需要将其包装为类或者库供其他部分调用。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/173157.html