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

Labview串口通信MSComm实现串口收发

文章目录

  • 前言
  • 一、什么是 MSComm
  • 二、MSComm 控件下载
  • 三、MSComm 控件的注册
  • 四、使用 MSComm 控件
    • 1、前面板放置控件
    • 2、MSComm 的常用属性
    • 3、MSComm 控件的事件
  • 五、实现串口收发
    • 1、搭建虚拟串口
    • 2、发送测试
    • 3、接收测试
    • 4、后面板核心程序框图
  • 六、程序自取


前言

本文介绍使用 ActiveX 控件 MSComm 实现高性能的串口收发。


一、什么是 MSComm

MSComm 作为一个串行通讯控件,每个 MSComm 控件,都对应一个串口,若需访问多个串口时必须使用多个 MSComm 控件。

MSComm 是 ActiveX 控件,可以在 PC 上控制串口数据的发送和接收,支持查询方式和中断方式(Windows 下称为事件驱动方式)。

  • 中断方式:当串口有数据到达或有数据写入到串口缓冲中时,就会触发中断,可以使用 OnComm 捕获事件并进行处理。这种方式响应及时,比轮询方式效率要高。
  • 查询方式:实际上仍热是事件驱动的,需要检查 CommEvent 属性值来查询事件。

二、MSComm 控件下载

点此链接:MSComm控件
在这里插入图片描述

三、MSComm 控件的注册

1、将上面下载的 MSCOMM.SRG、MSCOMM32.DEP、MSCOMM32.oca、mscomm32.ocx 这四个文件放到 C:\windows\system32(32位系统)C:\Windows\SysWOW64(64位系统)目录下。

2、在“此目录“下找到“cmd.exe”文件,右键以管理员身份运行,在弹出的对话框内输入:regsvr32 mscomm32.ocx 后,回车。控件注册成功后,如下图。
在这里插入图片描述

四、使用 MSComm 控件

1、前面板放置控件

①、打开前面板,右键 -> 容器 -> ActiveX容器
在这里插入图片描述
②、右键 ActiveX容器 -> 插入 ActiveX对象
在这里插入图片描述
③、选择 Microsoft Communication Control,version 6.0,点击确定,得到下图的 MSComm 控件
在这里插入图片描述
在这里插入图片描述
④、右键点击 MSComm 控件,选择“属性浏览器”,可得该控件的属性
在这里插入图片描述

2、MSComm 的常用属性

  • CommPort:设置并返回通讯端口号
  • Settings:以字符串形式设置并返回波特率、奇偶校验、数据位、停止位
  • PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口
  • Input:从接收缓冲区返回和删除字符
  • InputLen:设置并返回 input 属性从接收缓冲区读取的字符数
  • Output:向传输缓冲区写一个字符串
  • RThreshold:在设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回要接收的字符数
  • CTSHolding:确定是否可通过查询 CTS 线的状态发送数据
  • SThreshold:设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数
  • CDHolding:通过查询 CD 线的状态确定当前是否有传输
  • DSRHolding:确定 DSR 线的状态
  • EOFEnable:确定在输入过程中 MSComm 控件是否寻找文件结尾(EOF)
    在这里插入图片描述

3、MSComm 控件的事件

MSCOMM控件只使用一个事件 OnComm,用属性 CommEvent 的十七个值来区分不同的触发时机。主要有以下几个:

  • CommEvent=1时:传输缓冲区中的字符个数已少于 Sthreshold (可设置的属性值)个
  • CommEvent=2时:接收缓冲区中收到 Rthreshold(可设置的属性值)个字符,利用此事件可编写接收数据的过程
  • CommEvent=3时:CTS线发生变化
  • CommEvent=4时:DSR线发生变化
  • CommEvent=5时:CD线发生变化
  • CommEvent=6时:检测到振铃信号
    另外十种情况是通信错误时产生,即错误代码。

五、实现串口收发

1、搭建虚拟串口

参考我的上一篇博客:https://blog.csdn.net/qq_41839588/article/details/131936554?spm=1001.2014.3001.5501

2、发送测试

程序中使用的是 COM8 口,因此开一个虚拟串口 COM9,COM9(发) --> COM8(收)
在这里插入图片描述

3、接收测试

程序中使用的是 COM8 口,因此开一个虚拟串口 COM9,COM8(发) --> COM9(收)
在这里插入图片描述

4、后面板核心程序框图

在这里插入图片描述

六、程序自取

链接:https://download.csdn.net/download/qq_41839588/88104522


我的qq:2442391036,欢迎交流!


相关文章:

Labview串口通信MSComm实现串口收发

文章目录 前言一、什么是 MSComm二、MSComm 控件下载三、MSComm 控件的注册四、使用 MSComm 控件1、前面板放置控件2、MSComm 的常用属性3、MSComm 控件的事件 五、实现串口收发1、搭建虚拟串口2、发送测试3、接收测试4、后面板核心程序框图 六、程序自取 前言 本文介绍使用 A…...

字节跳动 EB 级 Iceberg 数据湖的机器学习应用与优化

深度学习的模型规模越来越庞大,其训练数据量级也成倍增长,这对海量训练数据的存储方案也提出了更高的要求:怎样更高性能地读取训练样本、不使数据读取成为模型训练的瓶颈,怎样更高效地支持特征工程、更便捷地增删和回填特征。本文…...

CentOS 安装Mysql8

1.检查是否已经安装mysql,停止mysql服务,删除mysql ps -ef | grep -i mysql systemctl stop mysqld rpm -e mysql 2.配置仓库 更新秘钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 安装mysql8的yum源 rpm -Uvh https://dev.mysql.…...

3-Linux实操

Linux实践操作 开关机、重启、用户登陆注销关机&重启用户登陆和注销 用户管理添加用户修改用户密码删除用户查询用户信息切换用户查看当前用户用户组的添加和删除用户和组相关文件 实用指令指定运行级别init 命令帮助指令文件目录类时间日期类搜索查找类🔍压缩和…...

Yarn 集群的架构和工作原理

Yarn 的基本设计思想是将 MapReduce V1 中的 JobTracker 拆分为两个独立的服务:ResourceManager 和 ApplicationMaster。 ResourceManager 负责整个系统的资源管理和分配,ApplicationMaster 负责单个应用程序的管理。 ResourceManager RM 是一个全局的资…...

PostgreSQL-视图-03-查询对象依赖关系视图-dba_dependencies

PostgreSQL查询对象依赖关系视图 -- PostgreSQL查询对象依赖关系视图drop view if exists tzq.dba_dependencies; create view tzq.dba_dependencies as with source_obj as (select sp.oid,sp.proname,unnest(string_to_array(regexp_replace(regexp_replace(lower(sp.prosrc…...

Vue style中的 scoped 属性

Vue 中存在 scoped 属性,HTML5中也存在一个 scoped 属性,而且,这两者都是针对 css 样式处理的属性,所以很多文章在 解释 Vue scoped 的时候,都会把两者混为一谈,直接进把 HTML5 scoped 的定义搬到 Vue scop…...

移动端适配rem

1.安装amfe-flexible和postcss-pxtorem, npm install amfe-flexible --save npm install postcss-pxtorem5.1.1 (这里我使用的postcss-pxtorem是5.1.1版本)或者在pageage.json中写入 "amfe-flexible": "^2.2.1","postcss-pxtorem": …...

Go语言开发小技巧易错点100例(八)

往期回顾: Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)Go语言开发小技巧&易错点100例(三)Go语言开发小技巧&易错点100例(四)Go…...

100个网络安全测试面试题

1、Burpsuite常用的功能是什么? 2、reverse_tcp和bind_tcp的区别? 3、拿到一个待检测的站或给你一个网站,你觉得应该先做什么? 4、你在渗透测试过程中是如何敏感信息收集的? 5、你平时去哪些网站进行学习、挖漏洞提交到…...

7.26 作业 QT

1.继续完善登录框&#xff0c;当登录成功时&#xff0c;关闭登录界面&#xff0c;跳转到新的界面中&#xff1a; 结果图&#xff1a; second.h: #define SECOND_H#include <QWidget> #include<QDebug> //信息调试类&#xff0c;用于打印输出的 #inc…...

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统 本文通过Python+opencv 实现这样的需求:输出位置和角度(x, y, r),并标记出轮廓基于传统图像处理算法实现,算法原理:输入图像 -> 灰度化 -> 二值化 -> 形态学处理 -> 轮廓提取 -> 树叶中心定位 -…...

IC设计工程师,参加IC面试应该注意哪些细节?

秋招已至&#xff0c;诸多IC设计企业&#xff0c;比如联发科、长鑫、大疆、燧原、地平线、复旦微、兆易创新、百度昆仑芯等&#xff0c;都已经陆续开启了提前批招聘。 很多人对各种关于秋招、面试、简历的比较感兴趣&#xff0c;所以今天就来跟大家分享关于秋招求职面试中的一…...

java poi导入Excel、导出excel

java poi导入Excel、导出excel 导出meven架包 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.1</version></dependency>导入Excel public void uploadFile(HttpServletRequ…...

【算法与数据结构】101、LeetCode对称二叉树

文章目录 一、题目二、递归法三、迭代法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归法 思路分析&#xff1a;这道题目标就是要对比左右两半的树是否对称&#xff0c;因此对比不是左右节点是否相等&…...

【N32L40X】学习笔记04-gpio中断库

gpio中断 该函数库的目的就是在统一的地方配置&#xff0c;将配置的不同项放置在一个结构体内部使用一个枚举来定义一个的别名 NVIC 寄存器 NVIC 相关的寄存器定义了可以在 core_cm4.h 文件中找到。我们直接通过程序的定义来分 析 NVIC 相关的寄存器&#xff0c;其定义如下…...

Godot 4 着色器 - Shader调试

我之前用OpenCV进行图像相关处理&#xff0c;觉得已经很不错&#xff0c;结合GDI可以实现流畅的动画效果 直到近来用Shader后才发现&#xff0c;着色器更上一层楼&#xff0c;原来这是入了GPU的坑 Shader编程限制很多&#xff0c;各种不支持&#xff0c;看在它性能不错功能炫…...

liunx时间慢几分钟,定时更新系统时间

#&#xff01;/bin/sh hwclock --hctosys echo "执行成功" 定时5分钟执行一次...

C# 委托详解

一.委托的概念 C#中委托也叫代理&#xff0c;委托提供了后期绑定机制(官方解释)&#xff0c;功能类似于C中的函数指针&#xff0c;它存储的就是一系列具有相同签名和返回类型的方法的地址&#xff0c;调用委托的时候&#xff0c;它所包含的所有方法都会被执行。 二.委托的用法…...

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址&#xff1a; Training language models to follow instructions with human feedbackchatGPT地址&#xff1a;openAI个人整理的PPT&#xff08;可编辑&#xff09;&#xff0c;下载地址&#xff1a;chatGPT学习分享PPT...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...

2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版

1.题目描述 2.思路 当前的元素可以重复使用。 &#xff08;1&#xff09;确定回溯算法函数的参数和返回值&#xff08;一般是void类型&#xff09; &#xff08;2&#xff09;因为是用递归实现的&#xff0c;所以我们要确定终止条件 &#xff08;3&#xff09;单层搜索逻辑 二…...

Python打卡训练营学习记录Day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

leetcode.多数元素

169. 多数元素 - 力扣&#xff08;LeetCode&#xff09; import java.util.HashMap;public class LeetCode169 {public int majorityElement(int[] nums) {int count nums.length;int res count/2;Scanner scanner new Scanner(System.in);HashMap<Integer,Integer> …...

交易系统开发:跨境资本的高速通道架构解密

连接纽约、香港与内陆的金融管道工程 总收益互换&#xff08;TRS&#xff09;在港美股投资中扮演着跨境资本流动的“隐形桥梁”。本文基于真实跨境券商系统开发实践&#xff0c;深入解析支持多市场、多币种、多通道的TRS平台架构设计与业务解决方案。 一、港美股TRS的核心价值&…...