C#串口通信从入门到精通(26)——多个串口多个线程发送数据和接收数据

news2024/9/21 1:16:16

前言

我们在开发串口程序的过程中有时候会遇到多个串口,并且多个串口也需要在多个线程进行操作,本文就来讲解如何实现多个串口在多线程下的安全发送与接收。

1、操作界面与测试过程

我们首先使用虚拟串口助手虚拟COM1、COM2这一对串口;COM3、COM4这一对串口,然后使用代码操作COM1,然后打开一个串口助手操作COM2,当我们使用COM1发送“111”以后,使用串口助手回复“222”,这时可以看到我们的软件接收到COM2发送过来的“222”;使用Com3发送“333”以后,使用串口助手操作COM4,COM4返回“444”,如下图:
在这里插入图片描述
上述代码就是实现了对COM1、COM3的操作

2、多串口多线程类的定义

我们定义一个类,该类定义好以后,对于不同的串口,new这个类的对象即可,然后对该类进行打开串口、发送数据、接收数据等操作,对于不同的串口,只是打开串口的时候传入不同的串口名称即可

  class MultiSerialPort
    {
   


        public 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/697901.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小黑子—MySQL数据库:第二章 - 进阶篇

MySQL数据库入门2.0 MySQL进阶篇1. MySQL体系结构2. 存储引擎2.1 InnoDB 存储引擎2.2 MyISAM 存储引擎2.3 Memory 存储引擎2.4 存储引擎选择2.5 MySQL安装Linux版本 3. 索引3.1 索引结构3.1.1 B tree3.1.2 B tree3.1.3 Hash 3.2 索引分类3.2.1 思考题 3.3 索引语法3.4 SQL性能分…

docker jenkins 安装

使用 Docker 安装 Jenkins 并实现项目自动化部署-阿里云开发者社区 (aliyun.com)https://developer.aliyun.com/article/892646#slide-1运行镜像命令: docker run \ --name jenkins \ -p 8080:8080 \ -p 50000:50000 \ -d \ -v /home/admin/SoftWare/volume/jenkin…

CSS 内容盒子

这章比较重要,会不断更新❗ 文章目录 内容盒子开发者工具的使用border 边框padding 内边距margin 外边距盒子整体尺寸元素默认样式与CSS重置元素分类块级标记行级标记行内块标记 display样式内容溢出裁剪掉溢出部分滚动条 圆角边框 border-radius 内容盒子 提示&am…

云原生之使用Docker部署Firefox浏览器

云原生之使用Docker部署Firefox浏览器 一、Firefox浏览器介绍1.1 Firefox简介1.2 Firefox特点 二、本次实践介绍2.1 本地环境规划2.2 本次实践简介 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Firefox镜像五、部署Firefox5…

M7615DNA M7455DNF M7675DXF安装网络打印驱动方法

注意:网络驱动安装首先需要把打印机接入到网络设备上,例如接到路由器或者交换机。 1、访问联想官方网站下载驱动或者使用机器随机自带光盘。 2、下载驱动后解压,如图: 3、运行解压后驱动包内的install文件夹里的相应打印机型号&am…

【云原生】软件架构的演进以及各个架构的优缺点

文章目录 1. 什么是软件架构?2. 单机架构3. 应用数据分离架构4. 应用服务集群架构5. 读写分离架构6. 冷热分离架构7.垂直分库架构8. 微服务架构9. 容器编排架构10. 小结 1. 什么是软件架构? 软件架构是指在设计和构建软件系统时,对系统的组织结构、组件、模块、接…

数据竞赛复现代码的 Docker 镜像制作指南

文章目录 一、前言二、主要内容1. Docker Desktop?2. VMware17 CentOS Linux Xshell 三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 主要的要求: 通过 Dockerfile 文件创建 Docker 镜像,数据…

Python初学-记录与Java基本语法不同的地方

这里写目录标题 条件与循环If条件语句for循环while循环 数学复数随机数 序列字符串列表与元组一些方法: 字典 条件与循环 If条件语句 在python里基础结构为if,elif,else,并且执行语句是在冒号后面的,Java是if&#x…

(小程序)基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

(小程序)基于uniappvite4vue3搭建跨端项目|uni-appuview-plus模板 版本信息: HBuilderX: 3.8.4 Vite: 4.2.1 uView-Plus: 3.1.31一、创建uniappvue3项目: 点击编辑器的文件 > 新建 > 项目(快捷键CtrlN) 2.选择uni-app项目&…

一点基础、但一直没分清的概念2023/06/28

文章目录 1.export和export default的区别2.npm和cnpm的区别3.npm run dev/serve的区别4.slice、splice和split的区别 1.export和export default的区别 模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输…

【Windows】Windows 如何查看已连接过WiFi的密码

文章目录 方式一、使用命令行查看方式二、使用PowerShell 查看方式三、使用网络适配查看 方式一、使用命令行查看 CtrlShiftEsc 打开任务管理器 打开新建任务对话框 在任务管理器界面,找到第一个菜单文件(F)点击运行新任务(N)。 新建cmd任务 打开(O):cmd     …

SpringBoot+VUE实现文件导入并将其保存到Liunx系统

SpringBootVUE实现文件导入 一、需求二、前端代码实现2.1 显示实现2.1.1 a标签实现2.1.1.1 上传标签实现2.1.1.2 查看标签实现 2.2 上传文件和文件查看界面实现2.2.1 上传文件界面2.2.1.1 上传文件界面展示部分2.2.1.1 上传文件界面逻辑部分 2.2.2 查看文件界面2.2.2.1 查看文件…

一步一步学OAK之二: RGB相机控制

今天我们来实现 RGB相机的控制程序,用来控制彩色相机的曝光、灵敏度、白平衡、亮度/色度降噪、 设备端裁剪、相机触发器等。 目录 Setup 1: 创建文件Setup 2: 安装依赖Setup 3: 导入需要的包Setup 4: 全局变量Setup 5: 定义clamp函数Setup 6: 创建pipelineSetup 7:…

Nginx重写跳转

目录 一、rewrite跳转场景 二、rewrite跳转实现 三、rewrite实际场景 四、rewrite正则表达式 五、rewrite命令语法格式 六、location分类 1、location 大致可以分为三类 2、正则匹配的常用表达式 七、location 优先级 八、rewrite和location比较 九、总结 一、rewri…

9 HAL库驱动框架简述(STM32HAL库)

目录 HAL库驱动框架简述 HAL库外设设计思想 HAL库和Cube MX相结合 一、对外设的封装——句柄结构体 二、外设初始化 初始化结构体 初始化的逻辑 三、外设使用逻辑 通用接口函数 初始化函数 I/O操作函数 控制函数 状态参数 扩展接口函数 总结 补充:H…

如何以最小成本通过CMMI评估?评估调查问卷收集中

CMMI评估,我们经常遇到:评估费用高、时间长,CMMI标准过程无法高效落地,那么我们如何以最小的成本通过CMMI评估? CoCode开发云公益直播课即将开播!直播主题:如何以最小成本通过CMMI评估。为了更好…

怎么把文字生成图片?三款ai绘画生成器分享

如果你对ai绘画工具有一定了解的话,你就会知道:市面上大部分ai绘画工具都是收费。再退一步讲,我们暂且不论收费价格的高低,大多数收费的ai绘画工具也不一定能准确匹配我们的需求。 仅仅在学生党和工作党之间,对ai绘画…

python爬虫增加多线程获取数据

Python爬虫应用领域广泛,并且在数据爬取领域处于霸主位置,并且拥有很多性能好的框架,像Scrapy、Request、BeautifuSoap、urlib等框架可以实现爬行自如的功能,只要有能爬取的数据,Python爬虫均可实现。数据信息采集离不…

windows10教育版过期,记录一下重装windows11专业工作站。报错“若要在此计算机上安装windows,请重新启动安装”

准确的来说是重装 windows10或者windows11都有问题,而且卡了很久;最初的问题是 第一步解决问题的方法: 1、修改注册文件: 有些不显示鼠标,记住鼠标按住拖动,这样可以看见矩形的样子,可以知道大…

shardingsphere-proxy 搭建mysql的分库分表

1、docker安装mysql5.7版本 拉取mysql的镜像 docker pull mysql:5.7创建mysql的配置目录,日志目录,数据存储的目录 mkdir -p /home/sunyuhua/docker/mysql/conf mkdir -p /home/sunyuhua/docker/mysql/logs mkdir -p /home/sunyuhua/docker/mysql/dat…