私は測定システムを実行しており、プログラムで 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);
}