dodolo 发表于 2008-5-27 14:48:51

定时器的相关问题

在CVI中如何控制定时器的开与关
我在设计一个虚拟示波器,我希望定时器打开时开始采集数据,关闭时停止采集数据,望各位高手帮忙想想,谢谢!

monte 发表于 2008-5-27 19:11:31

设置定时器属性ENNABLED 0关,1开关了以后不要忘了释放 ,如果你要采集数据,建议使用线程,定时器会丢数据,不能连续采集

brk1985 发表于 2008-5-27 19:42:32

设置多个定时器出问题,楼上这么一说,恍然大悟,是要把定时过后,不想要的定时器要关掉。
SetCtrlAttribute (panelHandle, PANEL_Timer, ATTR_ENABLED, 1);//开
SetCtrlAttribute (panelHandle, PANEL_Timer, ATTR_ENABLED, 0);//关

brk1985 发表于 2008-5-27 19:50:03

SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 1);
SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);
SetCtrlAttribute (panelHandle, PANEL_Timer2, ATTR_ENABLED, 1);
SetCtrlAttribute (panelHandle, PANEL_Timer2, ATTR_ENABLED, 0);
我希望Timer1回调函数执行完成后关掉Timer1,再执行Timer2

该怎么设置好呢?我试了一下,我这样写不行呀!

[ 本帖最后由 brk1985 于 2008-5-27 19:54 编辑 ]

cpubbs 发表于 2008-5-28 09:29:58

SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);
只要用这个就可以关掉的!

然后再开TIMER2就可以
SetCtrlAttribute (panelHandle, PANEL_Timer2, ATTR_ENABLED, 1);您后面再写了一句是0的就又关了,这样不行呢!:handshake

dodolo 发表于 2008-5-28 11:03:36

回复 2# monte 的帖子

刚接触LabWindows不久,所以对线程还不了解,请问大侠,有没有关于线程的资料,主要针对采集数据这部分的,十分感谢!

brk1985 发表于 2008-5-28 11:51:52

SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 1);
SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);
我这样写,是为了在Timer1执行完后关闭。

大家是怎么用的,把关闭语句SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);写入到Timer1CALLBACK函数里?

cpubbs 发表于 2008-5-28 12:17:32

SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 1);这一句在自身的回调函数里面可以不用的,因为它进来了,您没有必要再开一下,然后再关自己的!进来了表明它是开启的,如果关闭了它是不会进来的,所以打开这一句在里面可以不要!只要关了即可!

panheping 发表于 2009-5-8 16:24:50

gao

mashanda 发表于 2009-5-11 15:17:35

我最近在用,可是我并没有开定时器,它也可以进行定时啊
很疑惑
页: [1]
查看完整版本: 定时器的相关问题