很早就想做一个类似的东西了,正好这学期学了LabVIEW,作业就交了这个,基于LabVIEW的“串口示波器”上位机。
1.程序界面:
功能介绍:左边上方串口接收区,下方为串口字符发送区。右方为一个波形图表,在程序内部每次将串口发送过来的数据,以f%格式化,显示在波形图表上。
按钮介绍:从左至右依次,发送按钮;清除计数按钮;打开/关闭串口按钮;清除接收区数据;清除波形图表;保存波形;退出程序。
2.主程序框图:
主程序框图介绍:主程序框图主要由3个状态组成:程序的初始化,程序事件的响应,程序的退出。
状态Init:程序初始化,主要把OpenCom等按钮,串口状态,串口接收字符串,波形图标,TX/RX计数等控件,置为False或清零。初始化状态只执行一次,接下来就进入状态Event。
状态Event:程序事件响应,由一个事件结构构成,共需响应8个事件:Open/CloseCom按钮事件;串口号或波特率改变事件;发送按钮事件;清空计数按钮事件;清空接收区按钮事件;清空波形区按钮事件;保存波形按钮事件;菜单选择事件;退出按钮事件。如果在此状态,按下退出按钮,则进入状态Exit,否则程序将一直运行在此状态。
状态Exit:程序退出。退出前需关闭已打开的VISA句柄。
3.串口接收程序框图:
串口接收程序框图介绍:当串口状态为真时,调用串口属性节点”Bytes at Port”,如果串口缓冲区有X字节的数据就接收X字节的数据。最后,用一个状态机来实现相邻两个字符串的判断。如果串口在相邻两个字符串之间接收时间大于50ms,则判断为两个独立的字符串;如果小于50ms,则自动拼接前后两个字符串。
关键字:LabVIEW 串口通信
引用地址:
LabVIEW串口通信详解
推荐阅读最新更新时间:2024-03-30 23:02
C8051F340串口通信程序(UART0)
UART0 是一个异步、全双工串口,它提供标准 8051 串行口的方式 1 和方式 3。UART0 具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率(详见 18.1 增强波特 率发生器 )。接收数据缓冲机制允许 UART0 在软件尚未读取前一个数据字节的情况下开始接 收第二个输入数据字节。 UART0 有两个相关的特殊功能寄存器:串行控制寄存器(SCON0)和串行数据缓冲器 (SBUF0)。用同一个 SBUF0 地址可以访问发送寄存器和接收寄存器。写 SBUF0时自动访问 发送寄存器;读 SBUF0时自动访问接收寄存器,不可能从发送数据寄存器中读数据。 如果 UART0 中断被允许,则每次发送完成(SCON0
[单片机]
单片机与PC机的串口通信课程设计
1.1设计目的 单片机与PC机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC机等)进行数据交换。因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。 1.2设计内容 以单片机与PC机为核心,实现单片机与PC机机的串口通信。 2系统硬件电路设计 2.1系统设计框图 图2-1 系统设计框图 2.2串口通信基
[单片机]
STC15F2K60S2串口通信程序代码
//********************************************** //STC15F2K60S2串口通信程序,将串口接受到的数据从串口发出去 //采用22.1184M晶振,波特率115200 //为方便大家调试,特附该程序的项目工程文件下载地址,下载打开即可调试下载到单片机 // //********************************************* #include stc15fxxxx.h //调用stc15f系列头文件,下载地址: http://pan.baidu.com/s/1eRUbjLS /*************常量定义************
[单片机]
单片机双机串口通信原理图
主机程序: #include reg51.h unsigned char i=1; unsigned char ACK=1; void delay() //延时函数 { unsigned char i,j; for(i=255;i 0;i--) for(j=100;j 0;j--){} } unsigned char kbscan() //键盘扫描函数 { unsigned char sccode,recode; //定义行、列 P1=0xf0; //高四位作为输入先写1 if((P1&0xf0)!=0xf0) //
[单片机]
学习LabVIEW(二)——操作.NET泛型类
误入歧途的一天。昨天晚上我看见 http://digital.ni.com/public.nsf/allkb/DC41DCDA972642CF8625787E 00732DDD 说LabVIEW不支持.NET的泛型,如果要用,可以用C#写一个包装类。我就不信邪了,即使LabVIEW的语言层面不支持,我们也可以用.NET框架提供的Reflection的能力来实现任何我们想要实现的目标吧,用不着大动干戈写C#代码。于是我今天就试了试,最后发现,还是写C#代码来得比较方便,尽管我们用纯LabVIEW实现了泛型类的操作。 用Reflection这样的机制操作泛型类,首先需要对.NET框架的基本对象模型有些了解。.NET的对象
[测试测量]
LabVIEW快捷键列表
对象调整和移动Shift-click 选择多个对象,在现有选择的基础上添加对象 (方向键) 以一个像素为单位移动所选对象 Shift- 以几个像素为单位移动所选对象 Shift-click (拖动对象) 在水平或垂直方向上移动对象 Ctrl-click (拖动对象) 复制所选对象 Ctrl-Shift-click (拖动对象) 复制所选对象并在水平或垂直方向上移动 Shift-调整大小 调整对象大小,并保持纵横比不变 Ctrl-调整大小 调整对象大小,并保持中心不变 Ctrl-用鼠标拖曳出矩形 在前面板或程序框图上扩大工作区空间 Ctrl-A
[测试测量]
串口通信-数据发送到PC加1后接收到单片机在数码管上显示
本程序的完整原理图下载: http://www.51hei.com/f/ks51.pdf /** *功能:串口通信-数据发送到PC加一后接收到单片机在数码管上显示 *时间:2014年3月2日10:04:07 *作者:寒竹子 *备注:波特率:19200bps *总结:串口通信时需要发送和接收数据时可以用到串口中断,在中断中进行数据的发送和接收, * 数码管显示时必须要放在while (1)中,只有这样才可以正常显示数字! **/ #include reg52.h typedef unsigned int uint; typedef unsigned char uchar; //数码管段选和位选声明 sbit WELA =
[单片机]
虚拟FPGA逻辑验证分析仪的设计
随着FPGA技术的广泛使用,越来越需要一台能够测试验证FPGA芯片中所下载电路逻辑时序是否正确的仪器。目前,虽然Agilent、Tektronix 等大公司生产的高端逻辑分析仪能够实现FPGA电路的测试验证功能,但此类仪器价格高昂,一般要十万、数十万人民币。所以,研究开发价格适中且具有逻辑分析仪和FPGA电路的测试验证功能的仪器是非常有价值的。 本文所介绍的基于虚拟仪器技术的逻辑验证分析仪,采用FPGA技术来实现仪器硬件部分的主要设计,应用图形化编程语言LabVIEW来实现仪器的测试软件设计。文中阐述了虚拟FPGA逻辑验证分析仪的总体设计方案及其工作原理,并对仪器的两个主要工作环节的开发设计作了具体介绍。虚拟FPG
[嵌入式]