|
<><FONT color=#1111ee size=5 face=楷体_GB2312><STRONG> 程序结构</STRONG></FONT></P><P><FONT color=#723cc4 size=5 face=楷体_GB2312><STRONG> 这一篇,我将给大家讲解一下labview中程序执行的顺序。最终目标是大家能够知道第二篇中那个程序里的框框是干什么的,为了简单,所以不会全讲,剩余的到以后需要使用的时候再说。</STRONG></FONT></P><P><FONT color=#1111ee size=5 face=楷体_GB2312><STRONG> 在labview中,默认情况下,程序的执行顺序是沿着数据流动的方向运行的。我们把第二篇中的那个串口接收程序简化一下就成了上面的这个样子。</STRONG></FONT><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图00.jpg"></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>首先是配置串口,配置好的串口的数据流到缓冲区,我们设置好一个4096字节大小的缓冲区。于是得到了来自于串口的4096个字节的串口数据,然后我们再用“串口读取”从中取出这4096字节个数据,然后把这4096字节是数据输出到“接收数据”的那个框里,于是我们就可以看到从串口收到的字符了。</FONT></STRONG></P><P><STRONG><FONT color=#f70968 size=5 face=楷体_GB2312> 但这样的话,你会发现程序只能运行一次,然后就停止。我们如何才能让程序不停的循环这个步骤,当我们想让他停的时候他才停呢?</FONT></STRONG></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312> 我们可以在函数面板的空白处点击右键,如下图所示找到while结构</FONT></STRONG><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图02.jpg" width=698 height=448></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>构然后就会出现一个可以拖动的方框,拖动他把你想不停执行的部分包含在这个框里面</FONT></STRONG><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图03.jpg"></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>然后就会变成这样</FONT></STRONG><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图04.jpg"></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>但是还没完,在这个框里面的右下角有一个红色的点,在他的左面有一个可以连接的“布尔”型连线,右击这个线,创建-》常量</FONT></STRONG><BR><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图05.jpg"><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>于是他的上面就连接了一个“F”的常量,表明这个循环不会停止。也就是说这个while大方框里面的程序会不停的循环运行。</FONT></STRONG></P><P><STRONG><FONT color=#f70938 size=5 face=楷体_GB2312> 现在我们的串口程序每从串口接收到4096个字节的数据就把它显示在那个“接收数据”方框里,不断循环。</FONT></STRONG><STRONG><FONT color=#f70938 size=5 face=楷体_GB2312>但是我们现在还面临一个问题,那就是。每当接收到4096个字符串后,把他们显示在程序中时,以前的数据就全部没有了,我们如何才能让以前的数据都保存在里面呢?</FONT></STRONG></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312> 在while循环里还有一种结构,叫移位寄存器,右键点击while循环的那个框,选择“添加移位寄存器”。如下图</FONT></STRONG><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图06.jpg"></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312> 在while方框上出现了两个三角形的符号,这就是移位寄存器。移位寄存器的意思大概是把一次循环中计算的数据放在右边的那个三角形里,在下一次循环时,从左边的那个三角形里取出来进行运算,其实就跟C语言里的变量类似,通过这种方式我们可以把上一次循环中的数据用在下一次循环中(我讲的不是很准确,应该就是这么用吧。其实还有其他方法,也可以使用局部变量实现这个功能)。</FONT></STRONG></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312> 再介绍一个函数--“连接字符串”,位置如下</FONT></STRONG><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图07.jpg" width=624 height=403></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>下面我们就把它连接成下面这个样子</FONT></STRONG><BR><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图08.jpg"></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>这样就可以把从串口接收到的数据完整的显示出来了,前面板如下</FONT></STRONG><BR><BR><IMG src="http://download.intelligentcar.cn/bbsupfile//upfile/截图09.jpg" width=626 height=346></P><P><STRONG><FONT color=#1111ee size=5 face=楷体_GB2312>至于我给的那个程序里面的if结构的用法,就更简单了,使用“ctrl+H”看看帮助就知道了,其实这个功能要不要无所谓。为了使我们这个程序尽可能简单,暂时我就不介绍这个了。</FONT></STRONG></P> |
|