Labview移位寄存器理解(例子说明)

引言

Labview的while循环里面有移位寄存器,看了很多例子才搞懂,把自己的理解简单记录一下。

还是用例子来说明比较好,下面文字摘自博客[1]

  • 如下图,上面循环对移位寄存器进行过初始化,下面的循环未对寄存器进行初始化。运行第一次结果都为5。但是第二次运行后上面的数值依然为5,下面的结果为10。这是因为第二个循环没有对移位寄存器进行初始化,所以运行结果会从上次运行的结果5开始继续往下运行,所以运行完结果变为10。
  • 在没有关闭VI前,未初始化的移位寄存器会保留上一次的循环值。
    在这里插入图片描述

但是最初看到他的描述感觉有点懵,主要不理解的地方有两个:

  • 移位寄存器的值和N、i有关系嘛?
  • 第一次第二次是循环到i=1和i=2的时候嘛?

我的答案:

  • 没有直接关系,不会等于N,也不会等关于i,但是和循环次数N有一定关系,可以理解是存在其他地方的一个数,具体多少要看内部的程序是什么样的
  • 不是,指的是第一次和第二次运行程序,对应的是按下面这个按钮:

什么意思听我后面的讲解。

解释

首先我们知道循环次数是N为5,那么添加了移位寄存器以后循环5次加1(看上面的程序),所以每次循环结束以后移位寄存器的数就加5。

上面的图初始化了移位寄存器为0,第一次运行循环时0加5等于5,第二次循环时以为寄存器又被初始化为0,所以第二次运行循环时还是0加5等于5,这样每次运行输出的显示的数都是5.

下面的图没有对移位寄存器进行初始化,第一次运行默认初值是0,0加5输出显示的数是5,第二次由于没有初始化,保留了上一次移位寄存器的数5,所以第二次运行循环时5+5等于10,如果一直运行循环程序,也会一直累加,所以这就是说为什么和循环次数有关。

另外,这个博主写的也很好[2],图片很直观,可以进一步加深理解。

在这里插入图片描述
在这里插入图片描述

参考资料

1.小白自学习Labview笔记(三)-------循环结构
2.LabVIEW循环结构之移位寄存器

  • 15
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值