news 2026/6/10 10:24:16

C#串口通信

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#串口通信

C# 通信编程笔记:串口通信 / TCP 通信 / Socket 通信

一、串口通信 (Serial Port Communication)

1. 基本概念
串口通信是一种逐位(bit)传输数据的通信方式,常用于与**嵌入式设备**、**单片机**、**GPS模块**、**传感器**等硬件通信。

2. 核心类与命名空间
- **命名空间**:`System.IO.Ports`
- **核心类**:`SerialPort`

using System.IO.Ports; // 导入串口命名空间 using System; public class SerialExample { static SerialPort _serialPort; public static void Main() { // 1. 创建 SerialPort 对象 _serialPort = new SerialPort(); // 2. 配置参数(关键词) _serialPort.PortName = "COM3"; // 端口名 _serialPort.BaudRate = 9600; // 波特率 _serialPort.DataBits = 8; // 数据位 _serialPort.StopBits = StopBits.One; // 停止位 _serialPort.Parity = Parity.None; // 校验位 _serialPort.Handshake = Handshake.None; // 3. 注册 DataReceived 事件(接收数据) _serialPort.DataReceived += SerialPort_DataReceived; // 4. 打开串口 _serialPort.Open(); Console.WriteLine("串口已打开,等待数据..."); // 5. 发送数据(字符串或字节数组) _serialPort.WriteLine("Hello Device"); // 或发送字节: _serialPort.Write(new byte[]{0x01,0x02},0,2); Console.ReadKey(); _serialPort.Close(); // 6. 关闭串口 } // 数据接收事件处理方法 private static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { // 读取字符串(按行) string data = _serialPort.ReadLine(); // 直到换行符 // 或读取字节: int bytes = _serialPort.BytesToRead; byte[] buffer = new byte[bytes]; _serialPort.Read(buffer,0,bytes); Console.WriteLine($"接收到: {data}"); } }

### 3. 关键术语解释

| 关键词 | 含义 | 说明 |
|--------|------|------|
| `PortName` | 端口名称 | 如 `COM3`、`COM5`,表示物理或虚拟串口 |
| `BaudRate` | 波特率 | 每秒传输的符号数,常见值:9600、115200 |
| `DataBits` | 数据位 | 每个字节的数据位数,通常为 8 |
| `StopBits` | 停止位 | 标识数据包结束,常为 `StopBits.One` |
| `Parity` | 校验位 | 检错方式:None(无)、Even(偶校验)、Odd(奇校验) |
| `Handshake` | 握手协议 | 流量控制:None、XOnXOff、RequestToSend |
| `Open()` / `Close()` | 打开/关闭串口 | 通信前必须打开,结束后关闭释放资源 |
| `DataReceived` | 数据接收事件 | 当串口收到数据时触发,需在事件处理器中读取数据 |

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/17 1:22:32

二分查找与二分答案:在有序世界里“耍流氓”的高效算法

一、二分查找基础:别再从头一个个数了 1.1 二分查找的概念与原理:像个心机的“猜数字”玩家 在计算机科学的江湖里,二分查找就像是一个“心机Boy”。它绝不干那种从头开始傻乎乎挨个数的体力活,而是专门在有序数组这个规矩的圈子里…

作者头像 李华
网站建设 2026/5/17 1:17:56

智创未来:2025—2026年度高含金量计算机与AI Agent赛事全景盘点

摘要: 随着人工智能技术的飞速发展,智能体(AI Agent)已成为当前计算机领域最受关注的前沿方向之一。全球范围内涌现出大量以智能体为核心的算法竞赛,从Kaggle、NeurIPS等国际顶级学术会议旗下的专业挑战赛,…

作者头像 李华
网站建设 2026/5/19 3:17:36

路由器市场新机遇:从管道到平台,五大核心赛道深度解析

1. 项目概述:从“管道”到“平台”的Wi-Fi价值重塑聊到路由器,很多人的第一反应还是那个藏在角落、默默发光、偶尔需要重启的“黑盒子”。在过去十几年里,Wi-Fi路由器的核心使命就是提供稳定、高速的网络连接,它的价值被简单地等同…

作者头像 李华
网站建设 2026/5/17 1:09:05

《雨霖铃》热播出圈 金天如意惊艳亮相 同框杨洋引热议

近日,古装武侠剧《雨霖铃》全网热播,凭借浓厚的武侠氛围感与高能剧情走势,牢牢占据观众视线,剧集话题热度持续走高。青年演员金天如意惊艳亮相,饰演角色彩珠,在杨洋饰演的男主展昭重伤中毒的关键剧情点贡献…

作者头像 李华