在下最近在做一个有关电机的编程,需要执行完一段程序后延时若干秒等电机转到一定位置后在执行另一行程序,由于要用多很多很多次延时,而且每次延时完后执行的代码还不一样,所以SETTIMER好像不太好用,本来想用SLEEP的,但最近客户又提了一个要求,要在程序运行的过程中设1个40MS的定时器,每40MS查询一下电机其他地方的状态,这样用SLEEP的话就会使程序停止接受消息,那40MS的定时器就没法用了啊...所以小弟向各位高人求助一下啊,怎样设置一个单纯的延时函数,不干涉到这个40MS的定时器?不胜感激!!还有用多线程可不可以解决这个问题,如果可以的话,麻烦把大概思路告知在下
其实就是这样一个程序
VOID MyFunc();
{
SetTimer(1,40,NULL);
*&*^^(&^*&^//电机运动到位置1的代码
//延时若干秒
#$%@%@%@#%// 点击运动到位置2的代码
//延时若干秒
&)×&×//电机运动到位置3的代码
//延时若干秒}
void CMyDialog::OnTimer(UINT nIDEvent)
{
// 检测电机状态的函数
}现在就是困惑延时的函数怎么写,我用Sleep的方法试了下,感觉OnTimer函数在Sleep的时候就不转了