先说明一下,跟串口相关的函数都位于下图所示的位置。官方的帮助文档对每个函数有详细介绍,大家有不懂的地方首先查看帮助文档,配合搜索引擎深化理解。

串口发送一次数据过程的可以分为三个步骤:打开串口-->发送数据-->关闭串口。分别对应Confugure Port,Write,Close这三个函数。用这三个函数在LabVIEW中搭建如下程序

一个最简单的串口发送程序已经编写完毕,接下来用XCOM对我们的程序进行验证。

在发送缓冲区中填入“你好”,然后运行程序,可以看到在XCOM中收到了相同的文字。在运行LabVIEW程序前,需要先在XCOM软件中打开串口,这样才能接收到数据。

测试已经完成,回过头来看看编写的程序,看起来最复杂的好像就是“串口配置”这个函数了。不过虽然它有好多接线端,这里只接了一个,其它接线端不接时会有一个默认值,没有特别要求一般都不用修改。一般情况下关注两个接口即可,即“串口资源名称”跟“波特率”。关于波特率,大家暂时理解为数据的发送速度就好了,数据的接收方要以跟发送方相同的速度接收数据才可以接收到正确的数据。可以看到XCOM中选择的波特率是9600,而我们的程序中是没有设定的,因为LabVIEW中默认的波特率就是9600。如果我们要用到其它波特率,就需要对其进行更改,可以通过“创建常量”或“创建输入控件”的方式进行更改。如果没有特别说明,后面的演示中使用的波特率都是9600。

接下来我们增加难度,让LabVIEW发送0、1、2、3……的数字,每隔1秒发送一次。对程序做出如下修改:

在原来的程序基础上添加while循环,并加入1000ms等待,让发送程序每隔1s执行一次。并且将循环次数发送出去,实现了刚才的需求。这里要注意串口写入函数接收的数据类型为字符串,而循环次数为一个数值,所以用到了“十进制数据至字符串转换”这个函数,该函数位于字符串选板“数值/字符串转化”中。还通过“连接字符串”在数据后面追加了回车和换行,让数据不会连在一起,方便我们查看。

到这里我们貌似已经实现了刚才提出的要求,但其实还有一些不妥。我们思考一下,假如房间里有5个人要出去,顺序应该是 开门-->5人依次出去-->关门,而不是 开门-->出去1人-->关门 循环5次。发现问题了吧,打开串口、关闭串口的操作一直在循环执行!这两个步骤放在循环外面就好了,所以正确的程序应该是下面这样。

好,现在我的需求又变了,我想通过一个按键来控制什么时候发送数据,即我可以在文本框输好内容,然后按下发送按键,数据被发送出去。

应该怎么办呢?我们可以添加一个事件结构,添加一个按键按下的事件,然后在事件中发送数据。最终完成的程序如下,测试截图就不放啦,大家可以自己试一下。

如果需要发送16进制的数据,在文本框或字符串常量上右键将显示方式改为16进制显示即可。

至此,关于串口发送的内容已经讲解完毕。大家可以比较一下从发送你好到按键发送的难易度,其实我们最后面的程序已经实现了类似串口助手的部分功能。做东西就是这样需要循序渐进。

不知大家有没有发现,我们的程序有一个特别不好的地方,在运行之前必须先选择串口,否则就会报错,这个体验简直太糟糕了!看看人XCOM,打开之后再选择串口,然后还有按键控制串口打开关闭,这才是一个好用的软件该有的样子啊,回头看看自己的,害!

关于这个问题,在后面的讲解中会进行解决。大家也可以自己想办法解决一下。说到底这其实是一个体验感问题,我们做一个软件肯定是要提高使用者的体验感的,类似的这种细节问题有很多,需要多发现多思考,在功能满足的前提下提高软件的体验感,能够让用户更加认可。扯远了哈哈。

文档中出现的测试程序在下方链接下载,下一篇讲解串口接收相关内容。

https://wwa.lanzoui.com/i9fx2la

【LabVIEW串口编程】 02 串口发送相关推荐

  1. 单片机 串口编程之串口通信仿真实验

    单片机 串口编程之串口通信仿真实验 一.简述        记--简单的使能串口,串口收发数据的例子.(使用Proteus仿真+虚拟串口调试)        代码,仿真文件打包:链接: https:/ ...

  2. 面向串口编程java_Java串口编程例子

    最近笔者接触到串口编程,网上搜了些资料,顺便整理一下.网上都在推荐使用Java RXTX开源类库,它提供了Windows.Linux等不同操作系统下的串口和并口通信实现,遵循GNU LGPL协议.看起 ...

  3. QT学习串口编程之串口软件的UI设计

    学会了如何使用QT进行界面设计之后,接下来让我们来进入第二阶段的学习--串口编程吧. 首先我们需要对串口软件的UI界面进行仿写. 首先存在一个接收方和发送方,接收框主要是串口软件接收设备发来的数据,发 ...

  4. python串口编程_python串口通信

    首先,应该安装serial模块pySeiral,还能开始后续的操作.在windows环境最好安装32位的python,否则可能无法安装pySerial,原因不明,如果有人解决该问题,可留言告诉我. 1 ...

  5. windows下的串口编程,串口操作类封装

    以往都是在嵌入式设备中经常操作串口,或者使用QT的串口类.在Win32中处理串口也是有办法的,操作文件的打开和读写进行串口的操作.使用ReadFile.WriteFile函数. 基本步骤 使用Win3 ...

  6. 串口通信协议和Linux下的串口编程

    一.串口通信介绍: 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节,尽管比按位字节(byte)的并行通信慢,但是串口可以使用一根线发送数据的同时 ...

  7. c8051f020C语言程序,C8051F020编程UART串口收发数据

    C8051F020编程UART串口收发数据 我编了一个 老是编译不过去 求高手改正 我用的是UART0端口 方式2 程序如下 //>>UART0串口编程--向PC发送和接受字符串<& ...

  8. UART0串口编程(五):串口编程(UART0)之UC/OS(一)UC/OS下的串口发送任务编程

    UART0串口编程(五) 串口编程(UART0)之UC/OS(一) 一.在UC/OS中设计串口程序所要考虑的问题 1.     串口通信数据以帧为单位进行处理,如果需要接收大量数据,则帧缓冲区规模必然 ...

  9. UART0串口编程(三):中断方式的串口编程;用中断编写发送函数

    UART0串口编程(三) 一:中断方式的串口编程 1.用中断方式编写串口程序由那几部分组成 2.硬件上的支持 1>UART0 发送FIFO缓冲区 A.UART0含有1个16字节的发送FIFO缓冲 ...

  10. 【LabVIEW串口编程】03 串口接收

    上一篇说到,串口发送一次数据的步骤为:打开串口-->发送数据-->关闭串口. 参照串口发送的思路,串口接收一次数据的步骤为:打开串口-->接收数据-->关闭串口.但是这里有一个 ...

最新文章

  1. 大数据目标检测推理管道部署
  2. python包 wget_Python数据科学“冷门”库
  3. 设置cookie存活时间_Django之cookie、session、token
  4. [Linux] 进程间通信
  5. 饶过'(单引号)限制继续射入
  6. 如何形象的解释javascript中map,foreach,reduce的区别
  7. 腾讯游戏人脸识别系统更新!刷脸的同时语音提示付款成功_游侠网 Ali213.net
  8. |洛谷|动态规划|P2014 选课
  9. 基于matlab的数字图像处理---图像的锐化与边缘提取
  10. Window平台编译log4cpp使用方法记录 (二)
  11. EasyPR编译指南
  12. 4k电视测试软件64,2017年四款看4k视频软件推荐,智能电视必备!
  13. 怎么提高c语言编程能力,如何才能提高用C语言编程的能力
  14. 【模拟电子技术Analog Electronics Technology 6】—— 共射放大电路的原理与改进
  15. 注册页面获取手机验证码
  16. 服务器xfs数据丢失的数据恢复过程_服务器数据恢复方案
  17. 个人微信号API接口
  18. Go语言解析Json(使用jsonparser)
  19. 拒绝平庸 保罗格雷厄姆_保罗·格雷厄姆(Paul Graham):微软无法处理Y组合器
  20. 10Bootstrap5徽章

热门文章

  1. 编程序将“china”译成密码
  2. Vijos-p1154买蛋糕(dfs + 剪枝)
  3. 高德地图自定义贴图图层
  4. 年终报告:通过3个维度,回看2022全球电商市场的“多样性”
  5. c 添加mysql表单的一行数据类型,MySQL InnoDB表行格式及压缩
  6. python requests 登录接口场景使用案例
  7. web前端课程设计(HTML和CSS实现餐饮美食文化网站)静态HTML网页制作
  8. 云备份的正确打开方式,你学会了吗?
  9. 三菱FX5U系列PLC中的DSZR机械原点回归指令(带DOG搜索)的详细分析
  10. 亚马逊AWS云服务器 ubuntu系统登陆教程