网站大量收购独家精品文档,联系QQ:2885784924

vC中关于定时器使用小结.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 定时器的应用 目录 3.1 概述 3.2 定时器的使用方法 3.3 其它定时方法概述 3.1 概述 3.2 定时器的使用方法 3.2.1 Sleep函数 Sleep函数分析 3.2.2 WM_TIMER WM_TIMER方式定时的工作原理 2、使用WM_TIMER消息需要用到的函数 2)KillTimer(1) 3、程序示例 步骤1 生成应用程序框架 步骤3 添加WM_TIMER的消息响应函数(略) 步骤5、增加启动和停止定时器的消息响应函数。 程序运行效果 3.2.3 多媒体定时器 2、多媒体定时器的使用 参数说明: 2、使用举例 2)在对话框的头文件中定义代码 3)在OnButtonstarttimer添加启动多媒体定时器的语句 4)编写回调函数代码 5)在OnTimer中增加代码显示Cal的值。 程序运行结果 * * 返回 4.1 完成上述这些功能的代码都是按照一定的时间间隔周期性地执行的,这是就需要用到一个新的组件——定时器(TIMER)。 在计算机程序设计领域,有很多功能是周期性执行的, 如:数据采集程序,系统时间的显示等。 定时器是Windows系统的资源, Visual C++提供了定时器消息和一些与定时相关的函数。使用这些函数可以完成程序代码的周期性执行。 数据采集:周期性地获得现场的物理量信息 系统时间的显示:周期性地获得系统时间,并显示出来。 返回 3.2.1 Sleep函数 3.2.2 WM_TIMER消息 3.2.3 多媒体定时器 返回 Viusal C++提供了三种完成周期性操作的方法: 1、Sleep函数(延时函数)。 2、WM_TIMER消息(Windows窗口消息)。 3、多媒体定时器。 返回 while(1) { i=i+1; //此处添加需要周期性执行的代码。 Sleep(1000); } Sleep函数:延时函数 参数:延时的时间(单位ms) 返回 缺点: (1)CPU占用率高,一般适用于单任务的程序(如DOS操作系统的程序) (2)程序能够完成的功能比较简单。 (3)定时精度低,(据资料)最小误差为54.915 ms,每秒18.2次。 优点: (1)使用简单。 (2)移植方便。 返回 4.1 Windows系统提供了WM_TIMER消息来实现多任务系统的定时操作。 WM_TIMER是一个Windosws的窗口消息 1、WM_TIMER的功能: (1)可以完成定时操作。 (2)定时任务执行完毕后,将控制权交回给程序。程序可以进行其它的操作。 众所周知,Windows系统是一个多任务的操作系统。即可以有多个任务并行,这时,周期性(定时)执行的任务在执行完毕后,应该将控制权交给系统,这样程序的其它功能才能得以执行。 返回 应用程序启动定时器 系统监控到定时时间到 应用程序触发WM_TIMER消息 应用程序响应WM_TIMER消息 (即执行WM_TIMER相应的响应函数) 应用程序响应其他消息或执行其它的操作 返回 参数说明: nIDEvent:非0值标识Timer的id 。 nElapse:以毫秒为单位的定时间隔时间 lpfnTimer 指向定时事件到达时调用的函数的指针,如果为NULL,那么调用OnTimer() 1) SetTimer() 功能:设置定时间隔并启动定时器。 函数原型:UINT SetTimer(UINT nIDEvent,UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD)); 例:SetTimer(1,200,NULL)设置并启动一个时间间隔为200ms的定时器。消息响应函数为OnTimer() 返回 功能:取消定时器,此函数调用后,相应的定时器将被关闭不再起作用。 参数:用SetTimer()函数创建的定时器标识。 定时器使用总结: 1、在WM_CREATE消息中启动定时器(SetTimer) 2、在WM_TIMER消息中编写定时函数(即需要周期性完成的工作) 3、在定时工作完成之后关闭/停止定时器。(可选) 例:SetTimer(2,1000, TimerProc );设置并启动一个实间间隔为1s的定时器,该定时器的响应函数为TimerProc。 返回 4.1 程序设计目标:设计一个定时器程序,窗口内显示的数字每隔100毫秒自动加1。 程序设计步骤: 1、生成应用程序框架(基于对话框TimerSample)。 2、编辑对话框资源。 3、添加定时器消息响应函数。 4、添加定时器消息响应代码。 5、增加启动和停止定时器的按钮消息响应函数。 返回 4.1

文档评论(0)

155****8706 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档