C#基于SerialPort类怎么实现串口通讯
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,本篇内容主要讲解"C#基于SerialPort类怎么实现串口通讯",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C#基于SerialPort类怎么实现串口通
千家信息网最后更新 2025年11月14日C#基于SerialPort类怎么实现串口通讯
本篇内容主要讲解"C#基于SerialPort类怎么实现串口通讯",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C#基于SerialPort类怎么实现串口通讯"吧!
最终效果
窗体设置:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO.Ports;using System.Threading;using System.Windows.Forms;namespace SerialCommunication{ public partial class Form1 : Form { System.Threading.SynchronizationContext m_SyncContext = null; SerialPort serialPort = null; ToHexadecimalString toHexadecimalString = new ToHexadecimalString(); public Form1() { m_SyncContext = SynchronizationContext.Current; InitializeComponent(); } //Data initialization private void Form1_Load(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); SerialPortNumber.Items.AddRange(ports); SerialPortNumber.SelectedIndex = SerialPortNumber.Items.Count > 0 ? 0 : -1; BaudRateCom.Text = "9600"; //Set parameters CheckBitCom.Text = "None"; DataBitCom.Text = "8"; StopBitCom.Text = "One"; } //Send data private void Send_Click(object sender, EventArgs e) { try { //Send data and handle exceptions byte[] bytes = new byte[SendMessage.Text.Length]; bytes = Encoding.Default.GetBytes(SendMessage.Text); serialPort.Write(bytes, 0, bytes.Length); } catch (Exception error) { MessageBox.Show(error.Message); } } // Byte to hexadecimal string //Clear data private void Clear_Click(object sender, EventArgs e) { ReceiveMessage.Text = ""; } private void Open_Click(object sender, EventArgs e) { string portName = SerialPortNumber.Text; int buadRate = int.Parse(BaudRateCom.Text); Parity parity = 0; switch (CheckBitCom.Text) { case "None": parity = Parity.None; break; case "Odd": parity = Parity.Odd; break; case "Even": parity = Parity.Even; break; case "Mark": parity = Parity.Mark; break; case "Space": parity = Parity.Space; break; } int dataBit = int.Parse(DataBitCom.Text); StopBits stopBits = 0; switch (StopBitCom.Text) { case "None": stopBits = StopBits.None; break; case "One": stopBits = StopBits.One; break; case "Tow": stopBits = StopBits.Two; break; case "OnePointFive": stopBits = StopBits.OnePointFive; break; } try { if (Open.Text == "Open") { serialPort = new SerialPort(portName, buadRate, parity, dataBit, stopBits); serialPort.Open(); Open.Text = "Close"; } else if (Open.Text == "Close") { serialPort.Close(); Open.Text = "Open"; } } catch (Exception errror) { MessageBox.Show(errror.Message); } serialPort.DataReceived += onDataReceived; } private void onDataReceived(object sender, SerialDataReceivedEventArgs e) { try { Byte[] bytes = new byte[serialPort.BytesToRead]; serialPort.Read(bytes, 0, serialPort.BytesToRead); m_SyncContext.Post(new SendOrPostCallback((obj) => { ReceiveMessage.AppendText(Encoding.Default.GetString(bytes)); }), bytes); } catch (Exception error) { MessageBox.Show(error.Message); } } }}到此,相信大家对"C#基于SerialPort类怎么实现串口通讯"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
串口
通讯
C#
内容
学习
实用
更深
兴趣
实用性
实际
操作简单
效果
方法
更多
朋友
窗体
网站
频道
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
斑马网络技术有限公司工作环境
矿池中转服务器ssl
手机方舟服务器怎么睡觉
网络安全意识主题班会新闻
江苏在线网络技术服务选择
cmd创建数据库
黄州租房软件开发
宁陕网络安全宣传图片
上海筑燕互联网科技
简述软件开发的几个模式
奉贤区智能化网络技术开发
如何在服务器上做安全策略
网络安全辩论赛弊端的辩词
服务器r2
苏州推广软件开发销售价格
spring数据库连接池
如何在别人的服务器做32k
北京计算机软件开发流程
电驴连接服务器
软件开发公司保密管理制度
太原 软件开发 人月
单位网络安全规章制度
成都网络安全工程师培训机构
重庆售后管理软件开发
数据库日志备份
软件开发网络推广属于哪个行业
数据库技术及应用备考
ssci全文数据库
速卖通建立数据库
被网信办通报网络安全