自从LABVIEW全面支持事件结构后,已经很少用到全局键盘和鼠标了。在事件结构之前,轮询键盘和鼠标是非常常见的。
在LABVIEW "互联接口"函数选板中,提供了“输入设备控制”子选板,如下图所示:
在LABVIEW "互联接口"函数选板中,提供了“输入设备控制”子选板,如下图所示:
自从LABVIEW全面支持事件结构后,已经很少用到全局键盘和鼠标了。在事件结构之前,轮询键盘和鼠标是非常常见的。
在LABVIEW "互联接口"函数选板中,提供了“输入设备控制”子选板,如下图所示:
0 Comments
我们都知道两点之间最近的路径是直线,遗憾的是程序员往往走的并非直线
C语言中if语句经常会遇到下面的情形。 if (sth==TRUE) { //do sth } 实际是上可以简化为: if(sth) { //do sth } 在LABVIEW编程中,初学者也经常会有类似的错误,看看下面的程序框图: 一些初学LV的网友们近期发给我的邮件中多次谈到WHILE循环的一些问题,这些问题虽然很常见,但是是根本性的问题,原因在于这些问题之所以不容易理解,是因为刚刚接触LV,很难理解或者经常忽视了“数据流”的问题。
首先简要回顾一下WHILE循环的基本概念和特点,然后重点回复网友们有关WHILE循环的问题。 几乎所有有关LV的书籍中都把WHILE结构与C语言的DO WHILE循环相提并论 ,其实二者之间是存在很大差别的,其根本区别在于LV是基于数据流驱动的,而C语言则不是。 DO WHILE循环可以保证循环至少运行一次,LV中的WHILE结构也是如此,这是二者之间的共同点。C语言中的WHILE结构如下所示: do{ // do sth }while(condition) 我们需要特别注意的是,C语言中DO WHILE循环判断循环条件是在循环中所有语句执行之后,简单地说就是“先运行,后判断”,LABVIEW中的循环结构则不然,这导致了很多LV初学者很难理解LV中WHILE循环的一些特殊现象。 1、可以同时运行多个WHILE循环结构。 同时运行多个WHILE循环结构在C语言中是比较麻烦的,必须开辟多个线程,而LABVIEW是自动多线程的。LABVIEW不仅可以同时并行运行多个WHILE结构,甚至在每个while循环中可以同时运行多个数据流程。 多了同时运行的WHILE循环可以分成两类: 一类是一个VI中多个同时运行的WHILE循环。多个WHILE循环在同一程序框图中。 另一类是每个子VI拥有各自的WHILE循环,此时多个WHILE循环同时工作相当于WINDOWS的多窗口运行。 2、每个循环中必须增加延时函数,释放系统控制权。 如果在循环中没有延时类函数,将导致WHILE循环独占CPU,CPU占用率很快达到100%。 3、仅运行一次的WHILE循环+未初始化的移位寄存器。这就是著名的LV2(功能)全局变量。 |
敬告读者,这是《LabVIEW——北方客栈》的一个专栏,在那里可以看到更多的内容。
毛宁[蓝蓝的夜 蓝蓝的梦] 博主 本博客仅用来发表个人技术生涯逸事和个人感悟及LabVIEW学习等相关内容。其它与此无关的内容请不要在这里讨论。否则出现一切后果都将由发布者自负! 档案
July 2012
分类
All
|