关于事件回调的运用(有关于 中断)
注册VI,在事件发生时调用该VI。该函数用于注册和处理.NET和ActiveX事件。LabVIEW依据连线至各项的输入引用的类型确定可注册的事件。
我理解的就是:注册了事件回调之后,当某些事件发生以后,就会触发程序掉应设置好的子VI,运行子VI,类似于单片机C语言里面的中断处理。
看这样的一个例子(官方原例)
关于通过回调VI修改标题显示的例子。
在VI前面板实现网页浏览的基本功能。
前面板是这样的
程序框图是这样的
事件回调注册事件 用了两个事件。即 Titlechange和BeforeNavigate2.我们以第一个回调事件来进行解释。
当该浏览器控件发生标题改变时间后,就会回调TitleChangeCallback.vi进行某些处理。
我们打开这个子VI进行查看。
程序中 就是 将 事件数据 里面的TEXT 赋值给 我们前面板上的字符串显示控件 Title。
至于我们应该怎么样创建一个子VI。下面我们进行简单的探索。
我们先 创建一个 事件回调注册 节点(互连接口——.net——事件回调注册)
然后我们将这个节点与 ActiveX控件或.net控件 链接起来。
然后 我们从 第一个选项 “事件”里 选择 TitleChange 事件。就关联了Titlechange事件
右键VI引用端子,创建回调VI。就会创建一个半成型的VI。这个半成型的 VI会根据上一步选择事件的不同而不同。主要是因为用到的参数不同,我们在这个基础之上进行修改。
有的回调VI需要用户参数,有的则不需要。而本例中 我们用到的用户参数就是 我们用到的字符串显示控件Title的引用句柄。
看一下 半成型的回调VI的不同。
Titlechange回调VI是这样的
回调VI
则是这样的:
存在着很大的不同吧!在这个基础上 修改回调VI就相对比较简单了。
语言组织比较乱!我自己能懂。如有不同想法,大家一起留言探讨。
我们可以把这种思维用到 中断程序处理中(例如 串口中断),继续探讨。
需要说明的是:
我们之前创建的半成型的Titlechange回调VI就是这样来的。
事件回调中 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)