社区
VCL组件使用和开发
帖子详情
C++ Builder 中的定时器问题
dddsmile
2008-08-05 03:27:22
在C++builder中用Timer控件定时,1s向仪表送一个命令要求返回当前仪表显示值,
但是观察读取来的数据,不能保证刚好每一秒一个数据,有时同一秒有两条数据,
有时又空掉一秒。
在一台电脑只运行着一个程序时不是太明显,当同时另一个买来的实时数据采集绘图程序时,
这个缺陷就变得很明显。
这是否和Timer的优先级比较低,有关系呢。
有没有别的实现定时器的方法?
谢谢了!
...全文
330
11
打赏
收藏
C++ Builder 中的定时器问题
在C++builder中用Timer控件定时,1s向仪表送一个命令要求返回当前仪表显示值, 但是观察读取来的数据,不能保证刚好每一秒一个数据,有时同一秒有两条数据, 有时又空掉一秒。 在一台电脑只运行着一个程序时不是太明显,当同时另一个买来的实时数据采集绘图程序时, 这个缺陷就变得很明显。 这是否和Timer的优先级比较低,有关系呢。 有没有别的实现定时器的方法? 谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Allen841125
2008-08-27
打赏
举报
回复
再想一想!不大好办!
dddsmile
2008-08-06
打赏
举报
回复
那位好心人,有数据采集线程的程序,发给我一份,谢谢了。
djlsmile@hotmail.com
dddsmile
2008-08-06
打赏
举报
回复
我也想用线程的,主要是本人太菜,还不知道如何写线程,一直觉得线程太复杂,
hemiya
2008-08-06
打赏
举报
回复
sleep只是sleep相关的线程,别的不管。
lz要是采集数据还不如整个线程,专门用于采集数据。
[Quote=引用 6 楼 dddsmile 的回复:]
谢谢大家了,准备试试多媒体定时器
顺便在问一个问题,好像有点不道德啊。
这个程序用于控制几个仪表及数据采集,
有一个电子天平,向它发送命令之后,很长时间才能稳定,因此需要延时。
我现在用的是Sleep(),
刚才在网上看Sleep()用于长时间延时(15s/10s/5s)的时候,会像死机一样,无法响应其他消息,
但是从我的程序的运行结果来看,在一个子程序延时等待的时候,定时器仍然能够间隔一秒采集数据,
不知是我理…
[/Quote]
我来看看CB
2008-08-06
打赏
举报
回复
这个很难。。。。。。。。。。
dddsmile
2008-08-06
打赏
举报
回复
谢谢大家了,准备试试多媒体定时器
顺便在问一个问题,好像有点不道德啊。
这个程序用于控制几个仪表及数据采集,
有一个电子天平,向它发送命令之后,很长时间才能稳定,因此需要延时。
我现在用的是Sleep(),
刚才在网上看Sleep()用于长时间延时(15s/10s/5s)的时候,会像死机一样,无法响应其他消息,
但是从我的程序的运行结果来看,在一个子程序延时等待的时候,定时器仍然能够间隔一秒采集数据,
不知是我理解错了,还是怎么的?
我有没有必要将Sleep()换成其他的延时方法呢?
yuanreid
2008-08-05
打赏
举报
回复
需要使用多媒体定时器,普通定时消息是低优先级的,无法保证准确。
leeicescri
2008-08-05
打赏
举报
回复
Timer优先级很低的,比如你按住最大化、最小化按钮不放,你会发现根本就没有Timer事件响应了。
用什么定时器得看你自己的精度要求了。
看看这篇文章吧:
http://2363155.blog2.cnool.net/Article/2008/03/27/244760.html
sunyuchuan86
2008-08-05
打赏
举报
回复
建议用线程完成,这样也许更精确点。
Stanny
2008-08-05
打赏
举报
回复
间隔设置小一些,不要刚好1s,可以1s里面刷2-3次试试看
unsignedme
2008-08-05
打赏
举报
回复
使用多媒体字时器
MMSytem API timeSetEvent/timeKillEvent
C++
builder
定时器
程序开发实验步骤[归纳].pdf
C++
builder
定时器
程序开发实验步骤[归纳].pdf
利用
C++
Builder
进行精确计时.txt
利用
C++
Builder
进行精确计时.txt
俄罗斯方块 游戏制作
C++
Builder
C++
Builder
俄罗斯方块游戏制作.我花了好几天终于做好了。
OpenGL的glut库(
C++
Builder
6.0使用)
通常情况下,
C++
Builder
6.0无法使用glut库,但是通过下面教程可以生成可供
C++
Builder
6.0使用的glut库,本文件为该教程生成的文件,可以直接使用。
C++
Builder
不规则图像透明贴图(位图的透明显示)三种方法及简单动画CB10.2 v1.5(资源嵌入)项目源代码
C++
Builder
不规则图像透明贴图(位图的透明显示)三种方法及简单动画CB10.2 v1.5(资源嵌入)
C++
Builder
10.2项目源代码
VCL组件使用和开发
604
社区成员
13,456
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章