基于LabView开发的串口助手
目录
1.串口的打开与关闭实现
2.发送和接收功能实现
3.添加接收区自动清空功能
4.添加接收区滚动条实时显示功能
5.添加停止运行功能
6.清空接收区,清空发送区,清空计数功能实现
7.接收/发送16进制显示
8.连续发送功能实现
1.串口的打开与关闭实现
我们首先来实现串口助手的最基本的功能,打开与关闭。具体步骤如下:
首先创建一个while结构,然后在里面创建两个布尔类型的确定按钮作为我们的打开串口按钮,和关闭串口按钮。
在while结构中添加事件结构,并且将事件设置成如下。
我们在打开串口事件中配置串口端口输入控件,波特率输入,禁止终止符。
接着再继续配置清空缓冲区,避免接收数据错误。
下面这里是实现点击开串口按钮之后,如果打卡成功该按钮变为灰色,并且指示灯亮起。通过判断是否输出错误信号,如果没有错误则输出非,加一个非门取反后为真,然后再添加条件判断来控制按钮的使能与失能。
然后这边再进入“关闭串口”事件,在关闭串口事件中就只需要调用visa关闭和改变按钮颜色即可。
2.发送和接收功能实现
首先我们调用两个字符串组件,用来显示我们发送和接收的字符串。这里我们把接收字符串的滚动条打开,避免接收到的数据放不下。
定义一个发送按钮,然后在之前的事件结构中新建一个“发送事件”。
在发送事件中,调用visa写入,将发送内容控件与其相连,再通过一个布尔指示灯判断发送错误状态。
接着我们还可以实现一下观察发送的数目和发送的总数。调用字符串长度控件用来计算所发送的字符串大小 ,再创建两个数值显示控件。
发送数目很容易就显示出来了,然后我们调用发送总数的属性节点值,用这个值和计算出来的字符串长度值相加就是我们总共的发送总数。
接下来开始编写接收数据部分,首先我们需要搞清楚,接收的前提是什么?接收的前提是当打开串口没有错误的情况下我们才可以接收,因此我们需要调用这里错误判断的输出值,再配合条件结构一起使用。
然后我们就简单实现了一个串口接收的程序,但是下面的这个代码运行的话串口接收区的内容会不断的被覆盖掉,接收区总会显示最新的数据,旧的内容会不断地被覆盖掉。
因此我们需要做一些修改,调用连接字符串的组件将我们之前接收到的数据和新接收到的数据拼在一起。
这里还需要注意一点,这个前面用于判断是否发送接收的这个状态值需要再程序开头初始化成非,不然一打开串口没有任何判断就直接进入发送与接收阶段,而且在关闭串口里也需要置非。
整理后如下:
“打开串口事件”
“关闭串口事件”
“发送”事件
3.添加接收区自动清空功能
调用大于控件和字符串长度控件,通过比较接收缓冲区的数值和我们自己设定的数值大小进而进行清空操作。
调用与门,当开关打开和大于的信号同时存在时,将接收内容写为空。
4.添加接收区滚动条实时显示功能
调用滚动条位置控件
将接收内容的字符串长度与其相连即可。
5.添加停止运行功能
创建布尔类型按钮。
在事件结构中添加“停止运行”事件。
在停止运行前首先要保证串口处于关闭状态,因此添加平铺式顺序结构,确保串口关闭。
打开应用程序控制,调用停止控件。
6.清空接收区,清空发送区,清空计数功能实现
创建布尔类型按钮。
在事件结构中分别添加这三个事件。
清空接收区和清空发送区都一样,都是直接调用属性节点值然后赋一个空的字符串。
清空计数事件中,调用属性节点值改为0即可。
7.接收/发送16进制显示
创建布尔类型按钮。
添加事件。
创建显示样式属性节点值,并且转化为写入。
当条件为真时,赋值一个3的常量(右下角的图解释了为什么是3)。
条件为假时,赋值为0。
8.连续发送功能实现
创建布尔类型按键和数值输入控件。
再次新建一个while循环
延时这里就给一个毫秒延时控件即可。
下面就需要判断循环发送的几个条件, 当按钮按下、串口打开、发送内容不为零同时满足时采符合循环发送的条件,因此这里用一个与门进行连接。
发送内容的代码和手动发送是大同小异的。
最后进行整理即可
生成可执行文件(exe)可以参考:LabVIEW生成应用程序(exe)和安装程序(installer)_LabVIEW_不脱发的程序猿_InfoQ写作社区
基于LabView开发的串口助手相关推荐
- 基于labview开发平台的声音信号采集及处理系统设计(任务书+lunwen+翻译及原文+vi源文件+查重报告)
目 录 摘 要 I Abstract I 目 录 III 第1章 绪 论 1 1.1 引言 1 1.2 声音信号处理的发展及应用 2 1.3 本课题研究任务及章节安排 3 第2章 系统设计方案 4 2 ...
- 基于labview开发平台的声音信号采集及处理系统设计
目 录 摘 要 I Abstract I 目 录 III 第1章 绪 论 1 1.1 引言 1 1.2 声音信号处理的发展及应用 2 1.3 本课题研究任务及章节安排 3 第2章 系统设计方案 4 2 ...
- labview虚拟心电监测系统_基于LabVIEW开发的心电实时信号采集系统
基于 LabVIEW 开发的心电实时信号采集系统 史锡腾 ; 江迅 ; 龚贤伟 [期刊名称] <医疗卫生装备> [年 ( 卷 ), 期] 2007(028)006 [摘要] 介绍了以 La ...
- 基于MCU_USB的虚拟串口助手实现
一 .实验目的: 通过MCU的USB模块加串口模块,实现一个串口助手的功能.具体操作为把USB接收到的数据通过串口发送,同时实现串口接收的数据回传到USB,从而实现从USB到TTL的电平转换. 二.实 ...
- 嵌入式学习之QT学习---5 QT上位机开发之串口助手(上)
1.qt的三驾马车 qt下的串口编程 qt下的网络编程 qt下操作GPIO 2.设计ui界面 设计ui界面之前,需要新建一个QT工程,简要再回顾一下创建QT工程的步骤:new project-> ...
- Qt开发跨平台串口助手
为了方便调各种嵌入式外设而设计的一款串口助手,带实时绘图功能,可以在PC和安卓手机上使用 功能特性: 可在Windows, Ubuntu, Android, Raspbian上使用 快速响应 (可通过 ...
- 分享一个基于QT的自定义串口助手
引 ····设想这样一个场景:下位机FPGA通过串口uart来向PC上位机发送一个32bit的数据, ····如果下位机每次发送8bit 的 hex数据,则一帧的开始和结尾需要定义多个字节来避免和实际 ...
- 基于LabVIEW开发的自动测试系统ATS
主程序 用户管理模块 自动测试模块 数据管理模块 二次开发模块
- 基于LabVIEW开发的自动测试系统
1.登录界面 2.测试类型选择 3.自动测试界面 4.测试完成界面 5.测试中界面 6.程序工程图 7,程序框图
- 基于STM32单片机和Labview的温湿度波形实时显示串口助手(一)----手把手教学
基于STM32单片机和Labview的温湿度波形实时显示串口助手(一)----手把手教学 最近导师有个关于USRP的上位机系统需要找人做下,索性就把任务下发给我了.因为其它课题组有labview的正版 ...
最新文章
- 你应该知道的高性能无锁队列Disruptor
- sysdba,sysoper,normal 以及sys,sysdba,dba概念区别
- 模板文件默认标准版首页模板.html未找到!,html页模板
- MySQL的if,case语句使用总结
- (转)输入pipt提示:AttributeError: 'module' object has no attribute 'HTTPSConnection'
- 7_15_2013 E: 机器人II
- 无线安全***--启程
- 加密原理公钥私钥CA
- 教育部认可公众号博主是自由职业,网友:公号被封算失业吗?
- 微信开源推理加速工具 TurboTransformers,性能超越 PyTorch/TensorFlow 与主流优化引擎
- k8s服务发现和负载均衡(转)
- 初窥Python(一)——使用pymongo连接MongoDB
- plsql oracle 使用教程
- 在centos安装oracle客户端,centos下安装oracle客户端
- Python 代码加密方法总结
- java 热力图,热力图
- Android——讯飞语音唤醒简介及实现
- 安恒6月月赛 DASCTF 6th Re 部分wp
- 给高考生填报专业和志愿的建议
- IoC容器和 Dependency Injection模式 Inversion of Control Containers and the Dependency Injection pattern
热门文章
- 用python做youtube自动化下载器!附完整代码!
- 51nod 1076 2条不相交的路径 无向图强联通分量 trajan算法
- textarea字数实时统计方案
- interface Ethernet 0/0/0 和interface GigabitEthernet 1/0/0
- linux mint更改锁屏壁纸
- MSCS+FailSafe 双机集群做HA 小结
- C# 字节(数组)与位之间的计算
- mysql分区替换,MySQL交换分区的实例详解
- 对打字练的小键人的网站91xjr.com站资源打包,gulp独立分文件夹打包
- Microsoft Visual Studio 建表格