我想实现40毫秒定时,请问如何使用多媒体定时器实现?

ahiong 2000-06-14 11:56:00
如题,麻烦指教。我看了msdn,很多参数搞不清楚,回调函数
也不会定义。有请高手说详细一点。谢谢了。
...全文
279 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2001-02-17
  • 打赏
  • 举报
回复
http://www.banasoft.com/DownLoad/BNTimer.exe
zheng_rui 2000-06-21
  • 打赏
  • 举报
回复
timeBeginPeriod(1);

int start = timeGetTime();
while(timeGetTime() - start < 40)
{

}
timeEndPeriod(1);

//
softdoctor 2000-06-20
  • 打赏
  • 举报
回复
40毫秒?Timer 50毫秒以下是不可能准确的。
sanhan 2000-06-20
  • 打赏
  • 举报
回复
如果只是要得到时间的话,调用timeGetTime()就可以了。当然最好先查
一下定时精度,用timeGetDevCaps。

需要定时发中断的话,使用timeSetEvent。
gxli 2000-06-19
  • 打赏
  • 举报
回复
定时器进不了,是为什么?
我写一些东西到串口,等待串口的回应,为了能及时的得到是否超时的信息我用了定时器,
sunsetyang 2000-06-14
  • 打赏
  • 举报
回复
CreateSystemTimer是以前的win31里面的东西,估计已经不能用了。
它是原来的多媒体时钟的,现在应该是由timeSetEvent来实现的了。
ahiong 2000-06-14
  • 打赏
  • 举报
回复
谢谢你。那么请问那个回调函数怎么定义呢?
另外和用timesetevent()有什么区别,在定时精度上?
希望你能再一次解答,谢谢。
sunsetyang 2000-06-14
  • 打赏
  • 举报
回复
MSDN中不是有这样的定义吗?
void CALLBACK OneShotTimer(UINT wTimerID, UINT msg,
DWORD dwUser, DWORD dw1, DWORD dw2)
{
NPSEQ npSeq; // pointer to sequencer data
npSeq = (NPSEQ)dwUser;
npSeq->wTimerID = 0; // invalidate timer ID (no longer in use)
TimerRoutine(npSeq); // handle tasks
}
关于timeproc的论述:
void CALLBACK TimeProc(
UINT uID,
UINT uMsg,
DWORD dwUser,
DWORD dw1,
DWORD dw2
);
TimeProc is a placeholder for the application-defined function name.

Parameters
uID
Identifier of the timer event. This identifier was returned by the timeSetEvent function when the timer event was set up.
uMsg
Reserved; do not use.
dwUser
User instance data supplied to the dwUser parameter of timeSetEvent.
dw1
Reserved; do not use.
dw2
Reserved; do not use
有用似乎只有dwUser参数,你可以传递一个指向所需数据的指针,在timeSetEvent的时候传递给该函数。
sunsetyang 2000-06-14
  • 打赏
  • 举报
回复
试一下下面这两个:
WORD CreateSystemTimer(wMsecInterval,lpfnTimerProc);
WORD wMsecInterval; /*以毫秒为单位的时间间隔,系统将每隔此时间调用一
次回调函数*/
FARPROC lpfn TimerProc;/*指向回调函数的指针*/
WORD KillSystemTimer(hTimer);
WORD hTimer;/*欲释放的系统计时器句柄*/

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧