利用C++Builder进行精确计时
虽然Win95下的可视化开发工具,如VC、Delphi、C++Builder等。,都有专用的定时器控件,使用方便,可以实现一定的定时功能,最小定时精度只有55ms,多任务操作系统中定时器消息的优先级很低,无法得到及时响应,往往无法满足实时控制环境中的应用。不过微软已经在Win32 API函数库中为用户提供了一套用于高精度计时的底层函数。如果用户使用得当,计时精度可以达到1ms。这种定时精度完全可以满足一般实时系统控制的要求。现在对C++Builder 4.0提供的一组主要的与时间相关的接口函数(函数名、参数和函数与Win32 API基本相同)解释如下:
1.DWORD timeGetTime(void)
返回自Windows启动以来的毫秒数。价值232,约49.71。
上帝啊。
2.MMRESULT时间设置事件(
UINT uDelay,
UINT uResolution,
LPTIMECALLBACK lpTimeProc,
DWORD dwUser,
UINT燃料事件
)
这个函数设置一个定时回调事件,可以是一次性事件,也可以是重复事件。一旦事件被激活,调用指定的回调函数,成功后返回事件的标识码;否则,返回NULL。参数描述如下:
UDelay:以毫秒为单位指定事件的周期。
Uresolution:指定延迟的精度,以毫秒为单位。值越小,计时器事件的分辨率越高。默认值为1毫秒。
指向一个回调函数。
DwUser:存储用户提供的回调数据。
FuEvent:指定计时器事件类型:
Time _ oneshot: Udlay在毫秒后只生成一个事件。
TIME_PERIODIC:事件每隔一毫秒周期性地生成。
位律师回复
0条评论