Я делаю систему измерения, и у меня есть цикл 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);
}