我正在做一个测量系统,我的程序中有一个 do while 循环。在循环中,它会在进行测量之前检查是否有任何电机正在移动,因为它要求它在做任何事情之前到达目标位置。
在进行测量时,假设告诉我进行此测量需要多长时间。
但是,每当它在 do while 循环中运行时,我的所有计时器功能都会停止,就好像它们进入睡眠模式一样。
还有其他方法可以实现吗?如果有,请帮助我。
任何帮助将非常感激。
SetTimer(TIMERECHO, 1000, NULL);
BOOL bMoving = FALSE;
do
{
if (IsMoving(ID, NULL, &bMoving))
GetPosition();
} while (bMoving);
void CLHMDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case TIMERECHO:
UpdateData(FALSE);
m_Seconds++;
m_TimerEcho.Format(_T("Total time: %ds"), m_Seconds);
break;
}
CDialogEx::OnTimer(nIDEvent);
}