Windows下怎么获得非常精确的时间。(100分)

  • 主题发起人 主题发起人 lcj49997
  • 开始时间 开始时间
L

lcj49997

Unregistered / Unconfirmed
GUEST, unregistred user!
我做工控时需要检测转速值,采用光电编码得到脉冲后,用8253来记脉冲值。8253置初值<br>开始计数时读一下系统时间,过一段时间(大概2秒中)再读一下系统时间并读出计数器值。<br>用两次计数器值之差除以两次系统时间之差就得到脉冲数。<br>现在问题是这样误差大,可能是两次读的系统时间不准,请高手指点怎样才能得到准确值。<br>有其他检测方法也行。<br>还有BCB中Timer事件不准确,怎样可以得到更准确的。
 
getTickCount或 timeGetTime
 
var<br>&nbsp; StartTime,TotalTime :integer;<br>begin<br>&nbsp; StartTime :=getTickCount;<br>&nbsp; ...<br>&nbsp; ...<br>&nbsp; ...<br>&nbsp; TotalTime &nbsp;:=getTickCount-StartTime ;<br>end;<br><br>//单位是毫秒
 
now函数也可以精确到毫秒
 
问题解决,谢谢tseug,卷起千堆雪tyn,Brave。分已经分出了。
 
后退
顶部