微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 我觉得多个并行while loop的使用取决于阻塞界面线程的数目

我觉得多个并行while loop的使用取决于阻塞界面线程的数目

时间:12-13 整理:3721RD 点击:
一个while loop内嵌event structure专门处理界面操作,每个event case保证很快返回不阻塞其他event case的响应
其他while loop看情况使用
比如一个数据采集线程可能长时间连续采集,那就不应该放在event case内
应该单独放在一个并行的while loop内部,通过event case响应按钮动作去决定是否采集数据,这种控制动作通过全局变量或者queue传递
如果还有其他阻塞界面的线程,再建立新的并行while loop容纳之
这些并行的while loop可以每100毫秒检查一次queue或者global variable
基本不会对cpu造成额外负担

nod

如果不是RT(ETS),不要使用timed loop,而是用wait until next
timed loop是靠硬件的时钟源来触发的,在非RT(ETS)下,是没有这个时钟源的,其效果还不如用wait until next

自己m一下吧,我明天抽空写一个clf的example上来

哦,这样子。
但是timed loop里面可以设置循环时间间隔,这个还比较好用...当然是在完全不需要使用timed loop的前提下
wait until next没用过

【 在 damiyihao (请输入新的昵称) 的大作中提到: 】
: nod
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~就是timed loop吧?
就是普通while loop啊
  ---------------------------------------------------
|                            -------true------     |
|  [-------------]           |                |    |
|  [ 延时100毫秒 ]  是否采集-|  采集代码      |    |
|  [-------------]  全局变量 |                |    |
|                            -----------------     |
|                             case struct          |
|                                                  |
|---------------------------------------------------
   while loop
--  
※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222]

wait until next就是用来设置循环时间啊
你可以自己测试一下,都是time critical,两个的定时特性如何

ok,3x

做了个例子

 DAQGUITest.vi

 Global.vi

又是8.2-_-!

这个形式的代码赞。。。考虑以后所有代码必须以这种形式贴上来,娃哈哈

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top