using System;
using System.IO.Ports;
class Program
{
    static void Main()
    {
        // 创建一个串口对象,指定端口号和波特率
        using (SerialPort serialPort = new SerialPort("COM1", 9600))
        {
            try
            {
                // 打开串口
                serialPort.Open();
                // 设置串口的其他参数(可选)
                serialPort.Parity = Parity.None;
                serialPort.StopBits = StopBits.One;
                serialPort.DataBits = 8;
                serialPort.Handshake = Handshake.None;
                // 注册数据接收事件
                serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
                // 发送数据到串口
                serialPort.WriteLine("Hello, Serial Port!");
                // 等待用户输入以保持程序运行
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("Access to the port is denied.");
            }
            catch (IOException)
            {
                Console.WriteLine("The port does not exist or could not be opened.");
            }
            finally
            {
                // 确保串口关闭
                if (serialPort.IsOpen)
                {
                    serialPort.Close();
                }
            }
        }
    }
    private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        // 获取串口对象
        SerialPort sp = (SerialPort)sender;
        // 读取接收到的数据并输出到控制台
        string indata = sp.ReadExisting();
        Console.WriteLine("Data Received: " + indata);
    }
}创建串口对象:
SerialPort serialPort = new SerialPort("COM1", 9600):创建一个串口对象,指定端口号为 COM1 和波特率为 9600。打开串口:
serialPort.Open():打开指定的串口。设置串口参数:
serialPort.Parity = Parity.None:设置校验位为无。serialPort.StopBits = StopBits.One:设置停止位为 1。serialPort.DataBits = 8:设置数据位为 8。serialPort.Handshake = Handshake.None:设置握手协议为无。注册数据接收事件:
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler):当有数据通过串口接收时,触发 DataReceivedHandler 方法处理数据。发送数据:
serialPort.WriteLine("Hello, Serial Port!"):向串口发送字符串 "Hello, Serial Port!"。等待用户输入:
Console.ReadKey():等待用户按键以保持程序运行。异常处理:
UnauthorizedAccessException 和 IOException 异常,分别处理权限不足和端口不存在或无法打开的情况。关闭串口:
finally 块中确保串口关闭。数据接收处理方法:
DataReceivedHandler 方法在接收到数据时被调用,读取并输出接收到的数据。上一篇:c# sha256withrsa
下一篇:c#lambda表达式
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站