• labview与单片机串口通信


    labview与单片机串口通信
     
    VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。
    VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不同种类的仪器。它还支持多平台工作、多接口控制,是一个多类型的函数库。
    在LabVIEW中编写的VISA接口程序,当外部设备变更时,只需要更换几个程序模块即可使用,简单方便而且开发效率高。
    在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用户使用,LabVIEW将这些VISA节点单独组成一个子模块,共包含8个节点,分别实现初始化串口、串口写、串口读、中断以及关闭串口等功能。
    一、基本步骤
    在LabVIEW 中,进行串口通信的基本步骤分为3步:
    第一:串口初始化,利用ⅥSA Configure Serial Port.vi节点设定串口的端口号、波特率、停止位、校验位、数据位。
    第二:读写串口,利用VISA Read节点和VISA Write节点对串口进行读写。
    第三:关闭串口,停止所有读写操作。
    二、主要节点介绍
    下面介绍一下VISA串口的主要节点及其功能:
    1、串口配置
    该节点主要用于串口的初始化,如图1所示。
    [转载]LabVIEW <wbr><wbr>VISA与串口通讯的编程实现
    图1 串口配置节点
    VISA资源名称:指PC的串口名,例:COMl,COM2等。
    波特率:串口速率,默认为9600bps。
    数据比特:一帧信息中的位数,LabVIEW 中允许5~8位数据,默认为8。
    奇偶:奇偶校验位,可选为无校验、奇校验或偶校验,默认为无校验。
    停止位:一帧信息中的停止位的位数,可选为1位、1.5位或2位。
    流控制:设置传输机制使用的控制类型,可选为None、XON/XOFF软件流控或RTS/CTS硬件流控,默认为None。
    终止符:设置一帧数据的结束符,即当接收串口数据时,当收到终止符时,软件自动结束一帧数据接收。
    2、串口写入
    该节点主要用于写入串口数据,如图2所示。
    [转载]LabVIEW <wbr><wbr>VISA与串口通讯的编程实现

     
    图2 串口写入节点
    写入缓冲区:串口发送的内容。
    3、串口读取
    该节点主要用于读取串口中的数据,如图3所示。
     
    [转载]LabVIEW <wbr><wbr>VISA与串口通讯的编程实现

    图3 串口读取节点
    字节总数:要读取的字节数量。
    读取缓冲区:PC串口收到的数据。
    返回数:实际读取的字节数,字节总数应大于或等于返回数,否则会丢数。
    4、串口关闭
    该节点主要用于关闭已打开的串口,释放串口资源,以便串口被其他程序所调用,如图4所示。
     
    [转载]LabVIEW <wbr><wbr>VISA与串口通讯的编程实现

    图4 串口关闭节点
    三、典型串口程序框图
    按照串口编程的3个基本步骤,图5和图6给出了两个典型的串口读写程序框图。图5为读取的字节数为固定值,图中为4个字节,如果串口中数据字节数目不等于4个字节则会出错。图6则是先判断出串口中数据的字节数目,然后将其全部读取出来。相对而言,图6的通用性更好,但是出错的概率也会增大,因为不知道串口发来的数据是否与我们所需要的数据的字节数相等。
     

    [转载]LabVIEW <wbr><wbr>VISA与串口通讯的编程实现
    图5 典型串口读写程序框图1

    [转载]LabVIEW <wbr><wbr>VISA与串口通讯的编程实现
     
    图6 典型串口读写程序框图2
  • 相关阅读:
    [UGUI]事件机制
    [C#]CompareTo
    [Unity算法]交换排序(二):快速排序
    [Unity算法]交换排序(一):冒泡排序
    [Lua]string(二):string.sub处理中文
    [Lua]string(一):string库
    [Unity热更新]LuaFramework14.打包、加载和卸载策略
    [Unity热更新]LuaFramework13.事件派发
    数仓day01
    大数据学习day39----数据仓库02------1. log4j 2. 父子maven工程(子spring项目的创建)3.项目开发(埋点日志预处理-json数据解析、清洗过滤、数据集成实现、uid回补)
  • 原文地址:https://www.cnblogs.com/mrchige/p/6237945.html
Copyright © 2020-2023  润新知