找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 2694|回复: 6

定时器问题,急!

[复制链接]
发表于 2010-5-20 16:58:48 | 显示全部楼层 |阅读模式
有个定时器,我想有个按键按一下停止计时,另一个按键再按一下又从停止的那个时间开始计时。请问该怎么弄?
发表于 2010-5-20 17:12:20 | 显示全部楼层
回复 顶

使用道具 举报

 楼主| 发表于 2010-5-20 18:43:48 | 显示全部楼层
回复 顶

使用道具 举报

发表于 2010-5-20 19:43:27 | 显示全部楼层
你说的定时器是那种秒表概念的定时器还是说是vi编程后面板的定时器?

如果是前者,你可以用借助循环的移位寄存器来保存你暂停的值
回复 顶

使用道具 举报

 楼主| 发表于 2010-5-20 20:47:20 | 显示全部楼层
是程序面板的已用时间,可以让他有时能端吗,控制它开始计时停止计时,而且在重新开始计时时是从停止的计时那里开始计时
回复 顶

使用道具 举报

发表于 2010-5-20 21:59:27 | 显示全部楼层
可以的~好像express vi里面就有这样一个delay time,你看看是不是符合。

如果不符合,自己做一个,基本思路如下:

一个while循环,可以指定循环时间,比如10ms或者20ms之类,别太大,把你指定的定时时间从while外面经过隧道输入到while里面,单位是ms,然后把它除以你的while循环10ms或者20ms这个指定值(目的在于决定while循环几次,用while而不用for的目的在于while可以引入其它控制机制来退出循环,当然,8.6之后的for也有类似的控制端子,所以,这时候for和while就基本没区别了)。得到了循环次数N这个值,你把它和while的i端子输出进行比较,正常情况下,要i+1这个值大于等于N退出循环,但你也可以中途退出。

    现在说下中途退出实现和几个要注意的地方。

    先说你的这个vi如果是做为子vi在别的地方被调用的,然后你期待这个vi有两个基本输入端子,一个是定时时间(ms),一个是某种形式的输入,根据这个值来中途退出子vi的循环。这种形式的输入我建议是用queue,里面附加一个bool,在定时子vi里获取这个bool来确定是不是退出循环。(原因太复杂,来不及说了)另外,要想第二次进入定时循环的时候从上次退出地方开始定时,你可以在while上创建shift register来保存未完成的定时。
回复 顶

使用道具 举报

 楼主| 发表于 2010-5-20 22:50:17 | 显示全部楼层
非常感谢!我会努力试试
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 05:25 , Processed in 0.037320 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表