基于windows的精确定时技术及其在工程中的应用new

基于windows的精确定时技术及其在工程中的应用new

ID:33538528

大小:328.15 KB

页数:6页

时间:2019-02-26

基于windows的精确定时技术及其在工程中的应用new_第1页
基于windows的精确定时技术及其在工程中的应用new_第2页
基于windows的精确定时技术及其在工程中的应用new_第3页
基于windows的精确定时技术及其在工程中的应用new_第4页
基于windows的精确定时技术及其在工程中的应用new_第5页
资源描述:

《基于windows的精确定时技术及其在工程中的应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据第37卷第12期205年12月哈尔滨工业大学学报JOURHALOFHARBININSrⅡUTE0F7IECHNOLOGYVol_37Nol2Dec2005基于Windows的精确定时技术及其在工程中的应用郭占社,孟永钢,苏才钧,吴昊(清华大学摩擦学国家重点实验室,北京100084)摘要:详细论述了windows系统各种定时器的特点及其应用.利用Vc+十编制的测试程序、数据采集卡、和波形发生器对高精度定时器的精确度进行了测试.最后通过其在微力矩测试仪中对徽电机转速测试以及在电铸仪中的应用等实例证明了其完全可以应用在某些高精度定时要求的控制软件中.关键

2、词:高精度定时嚣:Vc++;微力矩测试仪;电铸仪中图分类号:1粥l文献标识码:A文章编号:0367—6234(2005)12—1717一04Windowsbasedpred鸵timingtechlmlogyanditsengineeringapplicationsGuOzhan—she,MENGYong-gang,sucai_jun,wUHao(StateK。yLabo飓to工yofTdbology,TsingIluauniversily,Beiiog100084,china)Ab酣ract:Characteristicsandap曲cationsofso

3、metimerstllatWindowsofreredareinⅡDducedintllear【icle.Precisionofahighlyprecisetirnerisa180testedwithaVc++testingprogram,dataa。qLlisitioncardandawavef0H11generator.TllIou出lheex舢pleofitsapplicati吼inlheIotatingspeedtest0fmicrotorquetesd“g和quipmentandelectrofo珊ingequipment,itisVed矗edt

4、hattheprecisiondmercanbeusedinsomeoccasionswhenhighprecisionisrequested.Key帅rds:hi曲precisetime。;Vc++;microtoIquetesti“gequipmen‘;elec讯lfo彻ingequipment在利用windows编制工业控制软件过程中,经常需要对数据进行采集、传送、实现实时控制等,这些程序都需要调用定时器.尤其对控制性能要求较高的控制系统和数据采集系统,更需要精确定时.而此时Windows提供的几种常用定时器就很难满足控制软件的要求,微软公司在win

5、—dows中提供了一种更精确的底层APl支持的高精度定时器.目前,虽有一些关于windows定时器的文献”,但都没有提及该高精度定时器的定时精度测试及其在工程中的应用.本文从wjndows定时器种类介绍人手,利用Visualc++提供的高效windows编程环境,详细介绍了高精度定时器的工作原理、精度测试以及在工程中的应用.测试结果表明:此定时器完全可以满足在一定精度要求下其他windows定时器无法满足的定时要求,具有一定的应用价值.收稿日期:2004—05一12作者简介:郭占社(1973一),男,博士后;盂永钢(196l一),男,研究员,博士生导师.1

6、VC++环境下几种windows定时器的调用及其定时精度1.1利用setTiIIler(】函数实现定时¨01在VC++编程中,利用wM一ⅡMER消息映射机制能进行简单的时间控制.首先调用setTjm—er()函数设置的定时器序号和时间间隔,如set-Timer(1,1000,NuLL)中,1为定时器序号,1000表示时间间隔为ls.然后在程序中增加定时响应函数0nTimer(),并在该函数中添加响应处理语句来完成到达定时时间的操作.定时器的取消利用了KiuBmer()函数.这种定时器的优点是应用非常方便.在一些定时精度要求不高的场合经常应用.但是,由于系统

7、发给wMⅡMER的消息并不是异步的,这条消息被放在了常规的消息队列中并且与其他消息一起排序.因此,即使调用了setTimer()函数,应用程序也不一定能保证按时接收到一条wMTIMER消息,因此其定时精度比较低,仅为55m,55ms以下的定时精度便无能为力.万方数据哈尔滨工业大学学报第37卷1.2利用G“Ijcl‘co∞t()函数实现对定时器的调用㈦在精度要求比较高的场合,例如要求误差不大于lms时,可以利用GetTickcoum()函数实现,该函数的返回值为DwORD型,表示以ms为单位的计算机启动后经历的时间间隔.在编写程序时.可以先记录函数返回的第一

8、个变量,然后执行程序,再记录函数返回的第二个值,两个返回值差就是程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。