labview的深入探索----labview与回调函数

2015-08-26 09:45:03   来源:eefocus   

关键字: labview  回调函数

回调函数是WINDOWS编程(API编程)的核心内容之一,在许多高级编程语言,如VB,VC(MFC)中已经封装了回调函数,取而代之的是事件响应函数,但是,追溯其本质,实际就是回调函数.

所谓WINDOWS回调函数,就是按照WINDOWS的规范,编写的(CALLBACK)函数,当WINDOWS检测到事件发生时,自动调用的函数,WINDOWS是通过函数指针调用的,因此,回调函数的内容是由用户决定的,而何时调用是由操作系统决定的.

我们看一下CVI中的一般回调函数的定义

int callback aaaa(int panel,int control,int event1,int event2,callbackdata *data);

回调函数的参数是有操作系统提供的,比如上面的回调函数,

panel---表示的哪个面板(窗口)发生的事件

control---表示的面板上哪个控件发生的事件

event1 event2 表示事件的类型和相应数据,比如鼠标坐标等

回调函数是一般高级编程语言的基本功能,但是,在LABVIEW8.X之前是不支持的,这极大限制了LABVIEW功能的扩展,因为ACTIVEX,.NET都需要回调函数.

8.X中,增加了回调函数的功能,主要用于ACTIVE,.NET和LABVIEW自身控件,LABVIEW例子程序中提供了几个例子,是有关ACTIVEX和.NET调用的,下面,我们通过LABVIEW自身控件说明一下回调函数的使用方法.



在.NET摸板中也提供了这个节点,从分类上就可以看出,注册回调函数主要是用于ACTIVEX和.NET的.

下面我们做一个简单的回调函数的程序,有两个功能,返回当前值的变化和记录控件被点击的次数


注册回调函数需要三个参数:控件参考,用户参数和自动生成的回调函数,有了控件参考,我们就可以选择事件的类型,用户参数主要是用于返回结果,因为回调函数是由操作系统调用的,没有办法通过数据流返回处理结果.

添加了这两个参数后,就可以自动生成回调函数了



回调函数如下图所示



简单编程,CONTROL的值传递给INDICATOR


这样值变化的回调函数完成了,下面我们通过鼠标UP事件来记录被点击的次数
[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0826/article_12923.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文