C# 串口通信

1. 导入

cs 复制代码
using System.IO.Ports;

2. 初始化定义

cs 复制代码
SerialPort sp = new SerialPort();
// 设置串口
sp.PortName = "COM3";  // 串口
sp.BaudRate = 9600;  // 波特率
sp.Parity = Parity.None;  // 校验位
sp.DataBits = 8;  // 数据位
sp.StopBits = StopBits.One;  // 停止位
// 打开串口
sp.Open();

3. 发送

cs 复制代码
sp.Write("Hello word\n");

4. 接收

  1. 需要在启动前设置(接收时回调方法)
cs 复制代码
sp.DataReceived += Sp_Shou;
  1. 方法
cs 复制代码
private void Sp_Shou(object sender, SerialDataReceivedEventArgs e){
// 获取发送过来字节大小
int size = sp.BytesToRead;
// 定义一个数组用来接收数据
byte[] data = new byte[size];
// data 0从第0开始读
sp.Read(data, 0, size);
// 将二进转换为 字符串
string msg1 = Encoding.ASCII.GetString(data); // 转换字符串
string msg2 = Encoding.Default.GetString(data); // 转换中文
}
相关推荐
lili-felicity6 分钟前
CANN性能调优与实战问题排查:从基础优化到排障工具落地
开发语言·人工智能
独自破碎E8 分钟前
【BISHI15】小红的夹吃棋
android·java·开发语言
进阶小白猿21 分钟前
Java技术八股学习Day33
java·开发语言·学习
程序员敲代码吗27 分钟前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
执风挽^1 小时前
Python基础编程题2
开发语言·python·算法·visual studio code
Z9fish1 小时前
sse哈工大C语言编程练习20
c语言·开发语言·算法
萧鼎2 小时前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
Anastasiozzzz2 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
缺点内向2 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
刘琦沛在进步2 小时前
【C / C++】引用和函数重载的介绍
c语言·开发语言·c++