-
前言
-
基本步骤:
- 1、自动获取本地串口。
- 2、根据传入串口基本属性参数打开串口。
- 3、串口数据的发送接收功能(ASCII和HEX格式)。
- 4、ASCII和HEX相互转换。
-
SerialPort类:
-
属性
- PortName: 获取或设置通信端口。
- BaudRate: 获取或设置波特率。
- Parity: 获取或设置校验协议。
- DataBits: 获取或设置每个字节的标准数据位长度。
- StopBits: 获取或设置每个字节的标准停止位数。
- IsOpen: 获取一个值,指示 SerialPort 对象的打开或关闭状态。
-
方法
- Open(): 打开一个新的串行端口连接。
- Close(): 关闭端口连接。
- ReadExisting(): 读取 SerialPort 对象的流和输入缓冲区中所有立即可用的字节。
- ReadLine(): 一直读取到输入缓冲区中的 NewLine 值。
- Write(string text): 将字符串写入串行端口。
- WriteLine(string text): 将字符串和 NewLine 值写入输出缓冲区。
-
-
具体实现:
- 案例内容大概如下:
- 1、创建一些使用到的字段
- 2、窗体初始化、加载
- 3、创建方法实现通讯状态、数据接收、消息更新、控件状态更新
- 4、创建按钮事件实现:打开串口、发送数据
- 5、发送格式变更、以ASCII或HEX格式发送
- 6、创建串口参数变更方法
- 7、创建数据发送HEX、数据转换的方法
- 8、创建自定义控件、用于显示串口打开状态
- 案例内容大概如下:
-
-
运行环境
- 操作系统: Win11
- 编程软件: Visual Studio 2022
- .Net版本:.Net Framework 4.8.0
-
一、预览
-
运行效果
-

-
二、代码
-
(一)使用到的字段
csharp
体验AI代码助手
代码解读
复制代码
#region 字段 SerialPort serialPortTool; //串口 System.Windows.Forms.Timer timer; //状态定时器 private bool IsConnected = false; //连接状态 private string portName = "COM1"; // 串口号 private int baudRate = 9600; // 波特率 private Parity parity = Parity.None; // 校验位 private int dataBits = 8; // 数据位 private StopBits stopBits = StopBits.One; // 停止位 //波特率数组 public int[] _BaudRateArray = { 9600, 14400, 19200, 38400, 57600, 115200}; //数据位数组 public int[] _DataBitArray = { 8, 7, 6, 5 }; States runState = States.None; #endregion -
-
(二)窗体初始化、加载
csharp
体验AI代码助手
代码解读
复制代码
#region 窗体初始化、加载 public FrmSerialPort() { In
5715





被折叠的 条评论
为什么被折叠?



