定时器的相关问题
在CVI中如何控制定时器的开与关我在设计一个虚拟示波器,我希望定时器打开时开始采集数据,关闭时停止采集数据,望各位高手帮忙想想,谢谢! 设置定时器属性ENNABLED 0关,1开关了以后不要忘了释放 ,如果你要采集数据,建议使用线程,定时器会丢数据,不能连续采集 设置多个定时器出问题,楼上这么一说,恍然大悟,是要把定时过后,不想要的定时器要关掉。
SetCtrlAttribute (panelHandle, PANEL_Timer, ATTR_ENABLED, 1);//开
SetCtrlAttribute (panelHandle, PANEL_Timer, ATTR_ENABLED, 0);//关 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 编辑 ] SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);
只要用这个就可以关掉的!
然后再开TIMER2就可以
SetCtrlAttribute (panelHandle, PANEL_Timer2, ATTR_ENABLED, 1);您后面再写了一句是0的就又关了,这样不行呢!:handshake
回复 2# monte 的帖子
刚接触LabWindows不久,所以对线程还不了解,请问大侠,有没有关于线程的资料,主要针对采集数据这部分的,十分感谢! SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 1);SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);
我这样写,是为了在Timer1执行完后关闭。
大家是怎么用的,把关闭语句SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 0);写入到Timer1CALLBACK函数里? SetCtrlAttribute (panelHandle, PANEL_Timer1, ATTR_ENABLED, 1);这一句在自身的回调函数里面可以不用的,因为它进来了,您没有必要再开一下,然后再关自己的!进来了表明它是开启的,如果关闭了它是不会进来的,所以打开这一句在里面可以不要!只要关了即可! gao 我最近在用,可是我并没有开定时器,它也可以进行定时啊
很疑惑
页:
[1]