关于事件回调的运用(有关于 中断)

2015-09-08 15:24:37来源: eefocus
关于事件回调 的解释 ,官方的是这样的:

注册VI,在事件发生时调用该VI。该函数用于注册和处理.NET和ActiveX事件。LabVIEW依据连线至各项的输入引用的类型确定可注册的事件。

 

我理解的就是:注册了事件回调之后,当某些事件发生以后,就会触发程序掉应设置好的子VI,运行子VI,类似于单片机C语言里面的中断处理。

 

看这样的一个例子(官方原例)

关于通过回调VI修改标题显示的例子。

在VI前面板实现网页浏览的基本功能。

前面板是这样的


程序框图是这样的



事件回调注册事件 用了两个事件。即 Titlechange和BeforeNavigate2.我们以第一个回调事件来进行解释。

当该浏览器控件发生标题改变时间后,就会回调TitleChangeCallback.vi进行某些处理。

我们打开这个子VI进行查看。





程序中 就是 将 事件数据 里面的TEXT 赋值给 我们前面板上的字符串显示控件 Title。

 

【当浏览器控件的标题发生变化时,事件会存在一个事件数据,这个事件数据当然不会和我们独立创建的字符串显示控件(Title控件)产生关联,于是,我们回调这个子VI将事件的title属性赋值给字符串显示控件】

 

至于我们应该怎么样创建一个子VI。下面我们进行简单的探索。

 

我们先 创建一个 事件回调注册 节点(互连接口——.net——事件回调注册)

 

然后我们将这个节点与 ActiveX控件或.net控件 链接起来。

 

然后 我们从 第一个选项 “事件”里 选择 TitleChange 事件。就关联了Titlechange事件

 

右键VI引用端子,创建回调VI。就会创建一个半成型的VI。这个半成型的 VI会根据上一步选择事件的不同而不同。主要是因为用到的参数不同,我们在这个基础之上进行修改。

有的回调VI需要用户参数,有的则不需要。而本例中 我们用到的用户参数就是 我们用到的字符串显示控件Title的引用句柄。

 

看一下 半成型的回调VI的不同。

Titlechange回调VI是这样的

回调VI  BeforeNavigate2.VI

则是这样的:





存在着很大的不同吧!在这个基础上 修改回调VI就相对比较简单了。

 

语言组织比较乱!我自己能懂。如有不同想法,大家一起留言探讨。

我们可以把这种思维用到 中断程序处理中(例如 串口中断),继续探讨。

 

需要说明的是:  在回调VI中,用户参数一般都是 变体数据类型的。如果我们想改变回调参数的数据类型,在创建回调VI之前,连线用户参数端子,如连线的是字符串引用句柄,则回调VI中的用户参数为字符串型引用。

我们之前创建的半成型的Titlechange回调VI就是这样来的。

关键字:事件回调  中断

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0908/article_13040.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
事件回调
中断

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved