新闻中心

EEPW首页 > 测试测量 > 设计应用 > shift register 与循环结构

shift register 与循环结构

作者:时间:2017-01-09来源:网络收藏

我非常喜欢C语言,也是我在实际工作中用的最多的,C的编程思维和LABVIEW的编程思维有很大不同,如果完全按照C的思维来做LABVIEW的程序经常是事倍功半,但是有很多相似的情况,经常比对两种方式,对提高LABVIEW的编程水平很有帮助,LABVIEW有很多它独特的编程思想,建议大家看看一切随缘老师的BLOG.

本文引用地址:http://www.eepw.com.cn/article/201701/337258.htm

任何编程语言,都必须具有三种的基本结构:顺序结构,跳转结构和循环结构,LABVIEW也不例外,它的循环结构独具特色,需要深入探讨和思索.

C中提供了几种基本的循环结构,简单介绍如下

在C语言中,可用以下语句实现循环:

( 1 )用 for 语句。

( 2 )用 do-while 语句。

( 3 )用 while 语句。

( 4 )用 goto 语句和 if 语句构成循环

labview 只有两种循环结构 FOR ,WHILE(实际上是DO WHILE)

FOR循环的执行过程是:(可以看到有两个基本的控制N和I)

首先检查I是否>=N,当条件满足的情况下退出循环,不满足条件时执行相应代码,代码结束后,执行I+1的操作


可以看的出来FOR执行第一次的时候,I的输出结果是0,说明执行代码时并没有进行加一操作,也肯定不是在循环进行前,如果是这样,那I应该输出1才对,所以说只能是代码执行完毕后进行的.

它的过程应该是:比较N和I--->运行代码--->加一操作.

根据I最后一次输出的结果,它的实际运行次数 N=I+1

今天我们要重点探索N=0和N=1两种情况.

N=0时,可以称为空循环,也就是代码一次也不执行.

可能很多人都用过空循环的特殊功能,它可以创建一个空数组,这个功能很有价值.


当N=1时,和我提到的FUNCTION GOBAL中WHILE的用法是一致的,完全可以用N=1for循环代替,只需要循环执行一次,目的是使用SHIFTREGISTER.


从上面右图可以看出,LABVIEW的WHILE循环的确是DO WHILE,它检查是否结束运行是在代码运行后,既然是DO WHILE,所以内部代码至少执行一次,因此,WHILE循环没有FOR循环自动生成EMPTY ARRAY的能力.

能否实现C中的WHILE循环那,很简单,在LABVIEW的WHILE循环加一个I=0的运行判断就可以了.



这是LABVIEW图形编程中提到的一个软件定时触发的例子,可以看到它有个I的输入端子,目的就是实现上面所说首次运行初始化.

一般的FOR,WHILE功能书上介绍的很多了,我只是想向大家介绍一些特殊的用法.



评论


技术专区

关闭