【labview实践篇】:VISA函数、串口通信


在这里插入图片描述


串口通信

上位机和下位机之间通过串口进行通信时,需要使用到两个缓冲区,一个是发送缓冲区,一个是接收缓冲区

上位机写入数据到发送缓冲区,下位机读取
下位机写入数据到接收缓冲区,上位机读取

本次实验没有硬件设备,通过虚拟串口软件虚拟出COM1和COM2进行通信,使用labview作为上位机使用COM1,串口工具模拟下位机使用COM2
在这里插入图片描述

labview的串口函数:仪器I/O --> 串口
在这里插入图片描述


VISA写入函数的使用

VISA配置串口参数:COM1,波特率9600(每秒传送9600个bit),timeout默认10s

VISA写入函数:往发送缓冲区写入hello world,并返回写入的字节数
在这里插入图片描述在这里插入图片描述

串口工具模拟下位机接收:
在这里插入图片描述


VISA读取函数的使用

1. timeout 内读取固定字节数据

串口工具模拟下位机,每200ms发送一次 12345 共5个字节到接收缓冲区
在这里插入图片描述
VISA读取函数:设置字节总数为20,也就是在timeout时间内最多读20个字节数据,并返回读取到的字节数量

为避免读到的是无效缓冲区数据,在读取缓冲区前先清空缓冲区

下位机每200ms发送 12345 共5个字节,上位机读取20个字节,共需要800ms,时间小于timeout
在这里插入图片描述在这里插入图片描述

2. timeout error

字节总数设定为20,timeout设定为10s,在10s内都没读到20字节数据的时候会报错

如何模拟?将串口工具的周期发送√去掉,改为手动发送,鼠标点击发送数据两次,只发送10个字节的数据
在这里插入图片描述

前面板现象:
在这里插入图片描述

3. 读取设定时间内的字节数据

串口工具模拟下位机每200ms发送 12345 共5个字节数据
在这里插入图片描述
上位机设定一个输入控件输入5000到定时函数ms,共5s,也就是接收缓冲区会有125个字节被读取

使用VISA串口字节数函数访问接收缓冲区的全部字节
在这里插入图片描述在这里插入图片描述

4. 终止符的使用

VISA串口配置函数:启动终止符设为true,终止符设为#,按照ASCII码表以十进制35输入
在这里插入图片描述

串口工具设置如下:每200ms发送 12345#1234 共10个字节
在这里插入图片描述

上位机设置为读取5s内的数据,5s时间下位机可以传送250个字节数据,但是上位机只会读到 12345# 共6个字节,因为#是终止符
在这里插入图片描述在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meraki.Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值