Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#串口通信代码

作者:_o隨缘   发布日期:2025-09-24   浏览:59

using System;
using System.IO.Ports;

class Program
{
    static void Main()
    {
        // 创建一个串口对象
        SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);

        try
        {
            // 打开串口
            serialPort.Open();

            // 设置数据接收事件处理程序
            serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

            Console.WriteLine("按任意键停止...");
            Console.ReadKey();  // 等待用户按键

            // 关闭串口
            serialPort.Close();
        }
        catch (UnauthorizedAccessException ex)
        {
            Console.WriteLine("无法访问串口: " + ex.Message);
        }
        catch (IOException ex)
        {
            Console.WriteLine("I/O 错误: " + ex.Message);
        }
        catch (ArgumentException ex)
        {
            Console.WriteLine("参数错误: " + ex.Message);
        }
    }

    private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        Console.WriteLine("接收到的数据: " + indata);
    }
}

解释说明:

  1. 创建串口对象:使用 SerialPort 类来创建一个串口对象,指定串口号(如 "COM1")、波特率(如 9600)、校验位、数据位和停止位。
  2. 打开串口:调用 Open() 方法打开串口,使其可以进行通信。
  3. 设置数据接收事件处理程序:通过 DataReceived 事件注册一个事件处理程序 DataReceivedHandler,当有数据到达时会触发该事件。
  4. 等待用户按键:使用 Console.ReadKey() 来等待用户按键,以便在程序运行期间保持串口处于打开状态。
  5. 关闭串口:在用户按键后,调用 Close() 方法关闭串口。
  6. 异常处理:捕获并处理可能出现的异常,如权限不足、I/O 错误或参数错误。

这个示例展示了如何使用 C# 进行基本的串口通信,并处理接收到的数据。

上一篇:c#序列化

下一篇:c#全局变量

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

c# rectangle

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站