当前位置: 首页 > news >正文

C# 串口通信(通过serialPort控件发送及接收数据)

连接串口

  • 界面设计
  • 打开串口
  • 发送数据
    • 通过文件发送
    • 发送数据
  • 接收数据

首先可以在 工具箱中搜索serialport,将控件拖到你的Winfrom窗口。

界面设计

在这里插入图片描述

打开串口

 private void Connect_Click(object sender, EventArgs e){serialPort1.PortName = comboBox2.Text;//端口名serialPort1.BaudRate = int.Parse(comboBox3.Text);//比特率serialPort1.StopBits = StopBits.One;//停止位switch (comboBox4.Text)//校验位{case "None":serialPort1.Parity = Parity.None;break;case "Odd":serialPort1.Parity = Parity.Odd;break;case "Even":serialPort1.Parity = Parity.Even;break;case "Mark":serialPort1.Parity = Parity.Mark;break;}serialPort1.DataBits = int.Parse(comboBox5.Text);//数据位try{serialPort1.Open();//打开串口bool b = serialPort1.CtsHolding;//CTS状态label8.Text = b ? "1" : "0";if (checkBox2.CheckState == CheckState.Checked)//判断是否勾选RTS{serialPort1.RtsEnable = true;}}catch (Exception ex){MessageBox.Show(ex.Message);}button3.Text=serialPort1.IsOpen ? "关闭串口" : "打开串口";}

发送数据

liens为全局变量,可以直接在richTextBox里输入,然后再点发送。

通过文件发送

 private void OpenFile_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.InitialDirectory = "d:\\";//设置默认打开路径// 设置文件过滤选项openFileDialog.Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*";// 设置标题openFileDialog.Title = "选择文件";// 显示对话框DialogResult result = openFileDialog.ShowDialog();// 确认用户没有取消操作if (result == DialogResult.OK){// 获取选中的文件路径string filePath = openFileDialog.FileName;comboBox1.Items.Add(filePath);liens = File.ReadAllText(filePath);//读取文件comboBox1.Text = filePath;richTextBox1.Text=liens;}}

发送数据

private void Send_Click(object sender, EventArgs e)
{serialPort1.WriteLine(liens);
}

接收数据

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{int len = serialPort1.BytesToRead;//获取可以读取的字节数byte[] buff = new byte[len];//创建缓存数据数组serialPort1.Read(buff, 0, len);//把数据读取到buff数组if (checkBox1.Checked)//是否勾选十六进制显示{richTextBox1.AppendText(BitConverter.ToString(buff).Replace('-', ' ') + '\n');//转成十六进制显示}else{richTextBox1.AppendText(Encoding.ASCII.GetString(data));//转成ASCII码显示richTextBox1.AppendText("\n");}
}

相关文章:

C# 串口通信(通过serialPort控件发送及接收数据)

连接串口 界面设计打开串口发送数据通过文件发送发送数据 接收数据 首先可以在 工具箱中搜索serialport,将控件拖到你的Winfrom窗口。 界面设计 打开串口 private void Connect_Click(object sender, EventArgs e){serialPort1.PortName comboBox2.Text;//端口名s…...

数据安全的新盾牌:SQL Server数据库镜像技术详解

数据安全的新盾牌:SQL Server数据库镜像技术详解 在数据驱动的商业世界中,数据库的安全性是维护企业运营的关键。SQL Server提供了多种数据保护机制,其中数据库镜像技术是一个强大的高可用性解决方案,它可以显著提高数据的安全性…...

【C语言版】数据结构教程(一)绪论(上)

【内容简介】本文整理数据结构(C语言版)相关内容的复习笔记,供各位朋友借鉴学习。本章内容更偏于记忆和理解,请读者们耐心阅读。 数据结构教程 绪论(上) 本节学习目标 1.1 基本概念 1.2 抽象数据类型的表示…...

酒后为什么总感觉渴?

喝酒后感到口渴,这种感觉其实很常见。这主要是因为酒精对我们的身体有几种影响。首先,酒精能够扩张血管,这会加快血液循环,让肾脏更加活跃,产生更多的尿液。这样一来,我们体内的水分就会通过排尿流失&#…...

Docker安装OwnCloud私有云盘对接ceph

一、安装OwnCloud 我的安装包链接:https://pan.baidu.com/s/1cJO8WEonsw4gGQWgQaYzpw?pwd6bak 提取码:6bak 启动OwnCloud容器,没有镜像会自动下载 docker run -d -p 80:80 -v /home/owncloud:/var/www/html --name owncloud --restartalway…...

创建了Vue项目,需要导入什么插件以及怎么导入

如果你不知道怎么创建Vue项目,建议可以看一看这篇文章 怎么安装Vue的环境和搭建Vue的项目-CSDN博客 1.在idea中打开目标文件 2.系在一个插件Vue.js 3.下载ELement UI 在Terminal中输入 # 切换到项目根目录 cd vueadmin-vue # 或者直接在idea中执行下面命令 # 安装element-u…...

abstract 关键字

在C#中,abstract 关键字是一个非常重要的特性,它用于定义抽象类和抽象成员(如方法、属性、索引器、事件或操作符)。使用 abstract 关键字的目的主要是为了提供一种机制,让基类能够指定一个或多个必须由派生类实现的方法…...

用Python编写你的网络监控系统详解

概要 在现代网络管理中,实时监控网络流量和状态是保证网络正常运行的关键。使用Python编写网络监控工具可以帮助管理员及时发现和解决网络问题。本文将详细介绍如何使用Python编写网络监控工具,包括基本概念、常用库及其应用场景,并提供相应的示例代码。 网络监控的基本概念…...

操作系统——虚拟内存

一、虚拟内存是什么? 虚拟内存类似一个桥梁,原来程序直接访问物理内存读取数据,现在程序直接访问虚拟内存,由虚拟内存再访问物理内存。 使用虚拟内存的好处: 隔离进程、提高内存使用安全性:每个进程直接…...

Zoom视频会议软件使用

Zoom 是一款广泛使用的视频会议软件,可以用于在线会议、网络研讨会、课堂教学、团队协作等。以下是使用 Zoom 的基本步骤和一些有用的技巧: 安装 Zoom 下载并安装: 访问 Zoom 下载页面。下载适用于你的操作系统(Windows, macOS, Linux, iOS, Android)的客户端。安装完成后…...

MVC软件设计模式及QT的MVC架构

目录 引言 一、MVC思想介绍 1.1 MCV模型概述 1.2 Excel的处理数据 1.3 MVC模式的优势 二、QT中的MVC 1.1 模型(Model) 1. QAbstractItemModel 2. QStringListModel 3. QStandardItemModel 4. QSqlTableModel 和 QSqlQueryModel 5. QAbstract…...

使用WSL通过SSH连接并运行图形界面程序

使用WSL通过SSH连接并运行图形界面程序 1. 在Windows上安装X服务器2. 配置并启动VcXsrv3. 在WSL Ubuntu中设置DISPLAY变量4. 从WSL Ubuntu连接到远程服务器5. 在远程服务器上设置DISPLAY变量6. 测试X11转发7. 运行您的安装程序注意事项 在Windows Subsystem for Linux (WSL) 上…...

柳湛宇-简历

...

6-1 从全连接层到卷积

我们之前讨论的多层感知机十分适合处理表格数据,其中行对应样本,列对应特征。 对于表格数据,我们寻找的模式可能涉及特征之间的交互,但是我们不能预先假设任何与特征交互相关的先验结构。 此时,多层感知机可能是最好的…...

【Android Studio】项目目录结构

文章目录 常用视图Android视图project视图 gradlebuild.gradleSDK 路径主题入口程序 常用视图 Android视图 project视图 gradle build.gradle SDK 路径 主题 入口程序...

electron-builder打包vue2项目问题合集

一、打包之后不显示elecmentui的图标 1、使用版本 vue ^2.6.14element-ui ^2.15.14vue-cli-plugin-electron-builder 2.1.1 2、解决办法 1) 如果是简单的图标可以使用图片代替(这种对于elementui组件的图标还是不会显示) 2)在v…...

5行代码快速Git配置ssh

0 流程步骤 检查本地主机是否已经存在ssh key生成ssh key获取ssh key公钥内容(id_rsa.pub)复制该内容,到Github账号上添加公钥,进入Settings设置验证是否设置成功 1 代码 # 1.检查本地主机是否已经存在ssh key cd ~/.ssh ls # …...

气相色谱检测常见问题和实战案例分享-测试狗

气相色谱检测常见问题和实战案例分享 气相色谱GC是一种高效、灵敏的分离和分析技术,广泛应用于石油化工、环境保护、食品安全、药物分析等领域;在使用气相色谱进行检测时,可能会遇到一些常见问题,本文将分享一些实战案例&#xff…...

一文学会CUDA编程:深入了解CUDA编程与架构(一)

前言: CUDA(Compute Unified Device Architecture,统一计算设备架构)是由NVIDIA公司开发的一种并行计算平台和编程模型。CUDA于2006年发布,旨在通过图形处理器(GPU)解决复杂的计算问题。在早期…...

Jquery判断图片加载失败,显示默认图片

//加载图片 出现404状态时触发 $(img).error(function () { //将加载不到的图片的src属性时,修改成默认图片,注意:默认图片必须保证存在,否则会一直调用此函数,造成死循环。$(this).attr("src", "Imag…...

UE Viewer技术深度解析:如何逆向工程实现跨版本虚幻引擎资源查看

UE Viewer技术深度解析:如何逆向工程实现跨版本虚幻引擎资源查看 【免费下载链接】UEViewer Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer). 项目地址: https://gitcode.com/gh_mirrors/ue/UEViewer UE Viewer(又称Umodel&#…...

云原生地理空间分析引擎Meridian:基于Arrow与GeoParquet的高性能架构解析

1. 项目概述:一个面向未来的开源地理空间数据引擎最近在折腾一个涉及大量地理信息处理的项目,从海量GPS轨迹点到复杂的多边形区域分析,传统的数据库和工具链在处理效率和灵活性上开始捉襟见肘。就在这个当口,我注意到了GitHub上一…...

终极指南:如何为你的戴尔G15笔记本安装免费开源散热控制中心

终极指南:如何为你的戴尔G15笔记本安装免费开源散热控制中心 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 tcc-g15 是一款专为戴尔G15系列游戏笔…...

RFID电动车智能门禁管理系统技术采用四层架构设计,实现电动车智能化管理。感知层采用防水防撕RFID电子车牌;识别层配置3-4米远距离读卡器;控制层集成ARM7处理器;执行层通过电动道闸或摆闸或广告门

RFID电动车智能门禁管理系统技术方案一、系统架构概览层级设备/组件功能说明感知层RFID电子车牌(DDC-RFID)车辆身份标识,防水防撕带刀口识别层RFID读卡器一体机(DAIC-DDC-RFID)3-4米远距离识别,920-925MHz频…...

3步解锁百度网盘满速下载:告别限速困扰的完整方案

3步解锁百度网盘满速下载:告别限速困扰的完整方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的非会员下载速度而烦恼吗?面对100KB/…...

嵌入式系统安全设计:挑战、原则与微内核实践

1. 嵌入式系统安全的设计挑战与核心原则在万物互联的时代背景下,嵌入式系统已从封闭的独立设备转变为网络化智能节点。这种转变带来了前所未有的安全挑战——根据工业安全机构的统计,2022年针对工业控制系统的网络攻击同比增加了87%,其中针对…...

孤舟笔记 IO 与网络编程篇五 网络编程你真的懂吗?从Socket到TCP连接全解析

文章目录一、先说结论:网络编程核心事实二、TCP 编程:三次握手的 Socket 视角三、UDP 编程:无连接的数据报四、服务端线程模型演进模型一:一连接一线程(最原始)模型二:线程池(改进&a…...

告别龟速下载!用阿里云Maven仓库和离线驱动包,5分钟搞定DBeaver所有JDBC驱动配置

极速配置DBeaver JDBC驱动的双轨方案:阿里云Maven加速与离线整合包实战 每次打开DBeaver准备连接数据库时,看着进度条缓慢爬升的驱动下载界面,你是否也感到焦虑?特别是在紧急排查生产环境问题的关键时刻,这种等待简直让…...

Herc.ai:一站式AI API网关,统一调用GPT-4、Gemini等主流模型

1. 项目概述:Herc.ai,一个面向开发者的全能AI API网关如果你正在寻找一个能让你在项目中轻松集成GPT-4、Gemini、DALL-E、Flux等主流AI模型,同时又不想被单一供应商绑定、不想处理复杂的多API密钥管理、并且希望有一个统一的、开发者友好的接…...

信发系统-排版/发布 配置操作教程-智慧大屏幕—东方仙盟

政务大屏幕节目管理-选择系统模板选择对应行业选择适合的模板选中你的节目点击设计设计节目直接管理/上传 资源:图片/视频/网页/文字/文档手指/鼠标选中显示区域上传资源,在右侧点击上传从资源库选择图片选择历史素材上传网站选中网页区域点击上传配置文…...