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

c# serialport

作者:妳明白莪還在等待嗎?   发布日期:2026-01-17   浏览:67

using System;
using System.IO.Ports;

class Program
{
    static void Main()
    {
        // 创建一个 SerialPort 对象
        using (SerialPort serialPort = new SerialPort("COM1"))
        {
            // 设置串口参数
            serialPort.BaudRate = 9600;       // 波特率
            serialPort.Parity = Parity.None;  // 校验位
            serialPort.StopBits = StopBits.One; // 停止位
            serialPort.DataBits = 8;          // 数据位
            serialPort.Handshake = Handshake.None; // 流控制

            // 打开串口
            try
            {
                serialPort.Open();
                Console.WriteLine("串口已打开");

                // 发送数据到串口
                serialPort.WriteLine("Hello, World!");

                // 接收来自串口的数据
                string receivedData = serialPort.ReadLine();
                Console.WriteLine("接收到的数据: " + receivedData);

                // 关闭串口
                serialPort.Close();
                Console.WriteLine("串口已关闭");
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("无法访问指定的串口。请检查权限或确保串口未被占用。");
            }
            catch (IOException)
            {
                Console.WriteLine("发生 I/O 错误。请检查串口连接。");
            }
            catch (Exception ex)
            {
                Console.WriteLine("发生错误: " + ex.Message);
            }
        }
    }
}

解释说明:

  1. 创建 SerialPort 对象

    • 使用 new SerialPort("COM1") 创建一个 SerialPort 对象,指定要使用的串口号(例如 COM1)。
  2. 设置串口参数

    • BaudRate:设置波特率,常见的值为 9600、115200 等。
    • Parity:设置校验位,通常为 None
    • StopBits:设置停止位,通常为 One
    • DataBits:设置数据位,通常为 8。
    • Handshake:设置流控制,通常为 None
  3. 打开串口

    • 使用 serialPort.Open() 方法打开串口,如果打开失败会抛出异常。
  4. 发送和接收数据

    • 使用 serialPort.WriteLine() 方法发送字符串数据。
    • 使用 serialPort.ReadLine() 方法接收字符串数据。
  5. 关闭串口

    • 使用 serialPort.Close() 方法关闭串口,确保资源被正确释放。
  6. 异常处理

    • 使用 try-catch 块捕获并处理可能发生的异常,如权限不足或 I/O 错误。

上一篇:c# volatile

下一篇:c# modbus

大家都在看

c# 二进制

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

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

Laravel 中文站