必威体育Betway必威体育官网
当前位置:首页 > IT技术

LABVIEW手把手教学之一——隧道和移位寄存器

时间:2019-06-01 00:43:06来源:IT技术作者:seo实验室小编阅读:78次「手机版」
 

labview移位寄存器

本系列视频旨在推广LABVIEW,让大家对这种可视化编程有一个框架性的认识,让大家都体会到LABVIEW给编程业界带来的变革。

计划是打算录制一系列入门教学视频,并解决新手在使用过程中遇到的难题,基本上会每集都搭配10分钟以内的视频,并会在此附上可以编译的源码供参考。如果有什么意见及建议,欢迎大家提出并共同探讨。

第一节先从隧道和移位寄存器开始。

对于隧道和移位寄存器的操作和表现,我录制了一小段视频,因为CSDN不支持视频,所以还请感兴趣的同学移驾以下链接查看:

视频链接

在LABVIEW的循环体内,传入和传出通道有隧道和移位寄存器两种方式,并且两者可以很方便的互相替换,但是这两种方式有什么区别呢?我们不妨来细细讨论一下:

1. 隧道

图一

图二

如图一所示的源码,在循环结构的左右两边的小实心正方体表示了这条通道为隧道,对隧道点击右键后可将其替换为移位寄存器,如图二。

切记移位寄存器必定成对出现,否则程序会出现编译错误。

改程序编译运行后,得到的结果却迥然不同。图一的隧道程序循环执行3次后输出的结果仍未3,而图二的移位寄存器程序循环执行3次后如愿以偿的得到了9这个值,其原理在于:

a) 隧道是一个局部变量值,每次进入循环体都会被循环体外部赋予一个初始值,所以即使图一的循环执行了3次,但是每一次隧道的左入口的值都为0,在循环体内加3后,隧道的右出口值为3,即使执行N次也是这样。

b) 移位寄存器的值稍微不同,每一次在循环体内执行,都会把右边移位寄存器出口的值用作左边入口的值,因此执行3次以后得到了9。

正如上文提到,熟悉C/C++的同学应该会想到了,这就是我们所熟悉的局部变量和静态局部变量的区别嘛!是的,隧道相当于每次进来循环体之后把循环体外的值赋予循环体内的局部变量,所以不管循环体内执行几次,其结果也等同于只执行了一次。然而移位寄存器相当于加了static的静态局部变量,我们知道静态局部变量是不会压栈的,因此它的值会随着每次循环体的执行而往上累加。

相关阅读

LabVIEW学习笔记(十一)——利用VISA进行串口通信

前言: 在1993年,为了确保多厂商的仪器具有协同工作的能力以及降低包含了多厂商仪器的完整测试系统的开发时间,NI 联合许多大公司开

【JokerのLabView】簇。

版本:LabView2018 簇是啥,其实就是结构体,能往一个大容器里塞不同类型的东西,其位置在数组、矩阵与簇中。前面板拖出来就和数组刚拖出

移位寄存器专题(verilog HDL设计)

目录 移位寄存器简介 分类 4位右移位寄存器工作原理 1、 16位右移位寄存器 2、 16位左移寄存器 3、 串行输入并行输出寄存器 4

基于实践的LabVIEW零基础入门视频教程

原文地址::http://blog.eeecontrol.com/LabVIEW1/《基于实践的LabVIEW零基础入门视频教程》资料不在多,而在于精,资料太多,反而会

移位寄存器之右移位寄存器(Verilog HDL语言描述)

目录 背景 测试一 Verilog HDL语言描述 测试代码 仿真波形图 测试二 Verilog HDL语言描述 测试代码 仿真图 ISE综合 RTL Schemati

分享到:

栏目导航

推荐阅读

热门阅读